SQL 存储过程一部分:
......
update table set name=@name where id='123'
   if @@ERROR<>0 or @@ROWCOUNT=0    
    begin    
     select 'F','更新数据失败!'        
     return    
    end   C#调用这个存储过程执行,若失败,SQL错误提示信息:“更新数据失败!”如何在前台显示? 存储C#SQL

解决方案 »

  1.   

    示例:
    C#
     ParameterEx[] parameters = new ParameterEx[2];
     parameters[0].Text = "@ERR_CODE";
     parameters[0].Value = -1;
     parameters[0].ParaDirection = ParameterDirection.Output;
     parameters[1].Text = "@ERR_TEXT";
     parameters[1].Value = "";
     parameters[1].ParaSize = 200;
     parameters[1].ParaDirection = ParameterDirection.Output;
     if (Convert.ToInt32(parameters[0].Value) != 0)
     {
        throw new Exception(parameters[1].Value.ToString().Trim());
     }过程定义部分
    @ERR_CODE INT OUTPUT,      
    @ERR_TEXT VARCHAR(100) OUTPUT
      

  2.   

    SqlConnection con = new SqlConnection(constr);
                SqlCommand com=new SqlCommand("exec usp_cs1",con);
                try
                {
                    con.Open();
                    SqlDataReader dataReader = com.ExecuteReader();
                    if (dataReader.Read())
                    {
                        if (dataReader[0].ToString() == "F")
                        {
                            MessageBox.Show(dataReader[1].ToString());
                            return;
                        }
                    }
                }
                catch
                {
                }
                finally
                {
                    con = null;
                }
      

  3.   

       try
            {
                //
            }
            catch (System.Data.SqlClient.SqlException ee)
            {
                Response.Write(ee.ToString());           
            }
      

  4.   

    创建带输出参数的存储过程,例如:
    create procedure queryStuNameById
      (
       @inParameter varchar(10),--输入参数
       @errorMessage varchar(10) output --输出参数
      )
    在存储过程主体:
    set @errorMessage='更新数据失败!' ;然后在代码里面调用这个存储过程,去out变量的值既可以得到结果。
    string outMessage="";
    outMessage= sqlComm.Parameters["@errorMessage"].Value.ToString();
      

  5.   

    那执行这个对干劲儿数据更新的存储过程用ExecuteReader么?
      

  6.   

    那执行这个对干劲儿数据更新的存储过程用ExecuteReader么?我在4楼写了诶