SQL里面的错误代码213,
Msg 213, Level 16, State 1, Line 1
插入错误: 列名或所提供值的数目与表定义不匹配。
怎么用在try里面指定他.我想修改这个错误提示

解决方案 »

  1.   

    try
    {
        ...
    }
    catch (Exception ex)
    {
        throw new Exception("出现了这样的错误" + ex.Message);
    }
      

  2.   

    我是要指定错误编码.再修改他的消息如这样
    try
    {
      ...
    }
    catch (Exception ex)
    {if (这里不只道用什么==SQL的错误编号号)
    {
    messagebox.show("我更改的消息内容");
    }
      
    }
      

  3.   

    try
    {
      ...
    }
    catch (SqlException ex)
    {
      switch (ex.ErrorCode)
      {
          case xxx:
            throw new Exception("出现了这样的错误" + ex.Message);
          ...
      }
    }
      

  4.   

    catch (SqlException ex)
    {
      switch (ex.ErrorCode)
      {
      case xxx:
      throw new Exception("出现了这样的错误" + ex.Message);
      ...
      }用这个没发应,我指定了值.如213,2627的错误代码.没有提示.什么反应也没有
      

  5.   

    在 switch (ex.ErrorCode) 这里下断点。
      

  6.   

    断点看到的结果是
    ErrorCode的值是 -2146232060
    而不是
    Msg 2627, Level 14, State 1, Line 1
    违反了 PRIMARY KEY 约束 'PK_Years'。不能在对象 'dbo.Years' 中插入重复键。
    语句已终止。
    这个2627这个是-2146232060是什么值,在哪看到的?不能指定到这个MSG的值吗?
      

  7.   

    你不如在存储过程里替换掉这个异常后再抛出来。 这样有很多FUN你可以用
      

  8.   

    我知道了。因为SQL Error是无符号整数,所以转换过来要加上 2的31次方(2147483648)。
      

  9.   

    http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlexception_members(v=vs.80).aspx
      

  10.   

    懒得试了!
    直接用笨方法比较  ex.Message == "插入错误: 列名或所提供值的数目与表定义不匹配。"*-*!!
      

  11.   

    此错误非彼错误。
    是返回的 HRESULT参考 msdn。