1.db_20040511.bak放在变量中,
用select @var做为最后一句
程序中用string resutl = (string)cmd.ExcuteScalar();
或者
2.用return @var返回结果
cmd.ExcuteNoQuery
程序中添加返回参数,再从参数中取值
或者
3.做为存储过程的输出参数处理

解决方案 »

  1.   

    用这个行不行?ExecuteScalar  (无列名)
    ----------------------------------------------------------------
    1  db_20040511.bak    (这个就是我希望得到的参数)上面这个是用查询得出来的吗?如果不是你可以设置一个输出参数来传递备份的情况!
      

  2.   

    1。可在存储过程中设一output类型的参数,并将参数赋值,在.net中可从cmd的Parameter中获取。
    2。在存储过程中中声明变量,最后select @var,在.net中可用cmd.ExcuteScalar()获取。
    3。由于返回值为字符串,不能用返回结果的形式返回该值。
      

  3.   

    在存储过程中定义一个参数,如@strOut char(10) output在存储过程中,set @strOut=文件名在调用存储过程时,用parameter,将其direction指定为inputoutput然后就能得到返回值
      

  4.   

    我的sql语句是这样写的:
    master..xp_cmdshell 'net use \\6DNC1ZAA\share 123 /user:localhost\Administrator';
    declare @f1 varchar(20);
    exec p_backupdb @f1 out,
    @bkpath='d:\share\',@bkfname='db_\DATE\_\TIME\_db.bak',@bktype=DB,@appendfile=1;
    select @f1然后得到的是最上面的结果。所以不能使用SqlCommand.还有没有其他的办法?
      

  5.   

    我用command.executeScale只能得到"命令已成功完成"这几个字。
    我怎么能得到我想要得结果呢?
    谢谢!