你直接在底层写一个参数接受@return输出参数的值就可以了

解决方案 »

  1.   

    具体的存储过程我感觉你那个@@error那你再看看。。
      

  2.   

    result=(int)cmd.ExecuteNonQuery();
      

  3.   

      IF @@error=0
     应该是
        IF @@error==0
      

  4.   

    begin   tran  ok  --开始一个事务 OK 
     delete  from  rxqz  where qz=   'rx015 ' --删除数据  
    save tran  bcd   --保存一个事务点 命名为 bcd
     update  sz  set   name='李丽s' where name= '李丽'--修改数据
    if  @@error=0  --判断修改数据有没有出错    
    begin --如果出错   
     rollback   tran  bcd  -- 回滚事务到 BCD 的还原点
    commit   tran  ok  --提交事务 
    end
    else  --出错 
    commit tran ok --提交事务   
    @@error 是一个内置的全局变量,为0表示最近的一次操作没有错误.
    你好像是用错了吧 
      

  5.   

    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());
    conn.Open();
    SqlCommand MyCommand = new SqlCommand("MYSQL", conn);
    MyCommand.CommandType = CommandType.StoredProcedure;
    MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));
    MyCommand.Parameters["@a"].Value = 10;
    MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));
    MyCommand.Parameters["@b"].Value = 20;
    MyCommand.Parameters.Add(new SqlParameter("@return", SqlDbType.Int));
    MyCommand.Parameters["@return"].Direction = ParameterDirection.ReturnValue;
    MyCommand.ExecuteNonQuery();
    Response.Write(MyCommand.Parameters["@return"].Value.ToString());参考:
    http://www.cnblogs.com/souso/archive/2009/09/09/1563104.html
      

  6.   

    conn.Open();//打开连接
               SqlCommand cmd = new SqlCommand("SO_BLOG_UPDATE_USER", conn);
               cmd.CommandType = CommandType.StoredProcedure;//指是是存储过程           //添加参数
               cmd.Parameters.Add("@username", SqlDbType.VarChar, 50).Value ="";
               cmd.Parameters.Add("@blogname", SqlDbType.VarChar, 50).Value ="";
               cmd.Parameters.Add("@headimg", SqlDbType.VarChar, 50).Value ="";
               cmd.Parameters.Add("@summary", SqlDbType.VarChar, 200).Value = "";
               cmd.Parameters.Add("@blogtitle", SqlDbType.VarChar, 50).Value ="";
               cmd.Parameters.Add("@address", SqlDbType.VarChar, 50).Value ="";
              cmd.Parameters.Add("@birthday", SqlDbType.DateTime, 40).Value = "";
               cmd.Parameters.Add("@gender", SqlDbType.Bit).Value = 1;
               cmd.Parameters.Add("@keepsecret", SqlDbType.Bit).Value = 0;
               cmd.Parameters.Add("@return", SqlDbType.Int, 4).Direction = ParameterDirection.Output;
                          这中间就是你要写的代码
    conn.Close();//关闭连接
                   int sum = int.Parse(cmd.Parameters["@return"].Value.ToString());//获得存储过程返回值
      

  7.   

    你QQ设了问题。。加不了你。。我QQ524542459
      

  8.   

    其它参数都没赋值啊,where username=@username,那肯定结果是0啦
      

  9.   

    conn.Open();//打开连接
      SqlCommand cmd = new SqlCommand("SO_BLOG_UPDATE_USER", conn);
      cmd.CommandType = CommandType.StoredProcedure;//指是是存储过程  //添加参数
      cmd.Parameters.Add("@username", SqlDbType.VarChar, 50).Value ="";
      cmd.Parameters.Add("@blogname", SqlDbType.VarChar, 50).Value ="";
      cmd.Parameters.Add("@headimg", SqlDbType.VarChar, 50).Value ="";
      cmd.Parameters.Add("@summary", SqlDbType.VarChar, 200).Value = "";
      cmd.Parameters.Add("@blogtitle", SqlDbType.VarChar, 50).Value ="";
      cmd.Parameters.Add("@address", SqlDbType.VarChar, 50).Value ="";
      cmd.Parameters.Add("@birthday", SqlDbType.DateTime, 40).Value = "";
      cmd.Parameters.Add("@gender", SqlDbType.Bit).Value = 1;
      cmd.Parameters.Add("@keepsecret", SqlDbType.Bit).Value = 0;
      cmd.Parameters.Add("@return", SqlDbType.Int, 4).Direction = ParameterDirection.Output;
      这中间就是你要写的代码
    conn.Close();//关闭连接
      int sum = int.Parse(cmd.Parameters["@return"].Value.ToString());//获得存储过程返回值
      

  10.   

    ALTER PROCEDURE [dbo].[SO_BLOG_UPDATE_USER]
        @username varchar(50) =null,
        @blogname varchar(50) =null,
        @headimg varchar(50) =null,
        @summary varchar(200) =null,
        @blogtitle varchar(50) =null,
        @address varchar(50) =null,
        @birthday datetime=null,
        @gender bit=1,
        @keepsecret bit=0
        as
        set nocount on
        begin
           BEGIN TRANSACTION
           update blog_user set blogname=@blogname,headimg=@headimg,summary=@summary,blogtitle=@blogtitle,address=@address,birthday=@birthday,gender=@gender,keepsecret=@keepsecret where username=@username
           IF @@error=0
              begin
                 COMMIT TRANSACTION
                 select 1 as ResultValue
              end
           ELSE
              begin
                 ROLLBACK TRANSACTION
                 select 0 as ResultValue
              end        
           return
        end直接像select语句一样取第一行第一列就好了。 @return 应该是sql server默认的还回值,不需要显式的声明为out put类型的参数的。
        
      

  11.   

    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlServer"].ToString());
    conn.Open();
    SqlCommand MyCommand = new SqlCommand("MYSQL", conn);
    MyCommand.CommandType = CommandType.StoredProcedure;
    MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));
    MyCommand.Parameters["@a"].Value = 20;
    MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));
    MyCommand.Parameters["@b"].Direction = ParameterDirection.Output;
    MyCommand.ExecuteNonQuery();
    Response.Write(MyCommand.Parameters["@b"].Value.ToString());