假设现在我执行insert into (col1, col2) values(x1, x2)x2的数据长度超过了col2的最大长度,我可以具体的获取这个出错的源吗就是我是否可以获得就是x2这个变量出错了。SqlError类一般只返回错误的类型,这种情况它只会显示什么截断字符串什么的。

解决方案 »

  1.   

    --> 测试数据:[tb]
    IF OBJECT_ID('[tb]') IS NOT NULL DROP TABLE [tb]
    GO 
    CREATE TABLE [tb]([id] INT,[name] VARCHAR(1))
    GO BEGIN TRY
    INSERT [tb] SELECT 1,'aaa'
    END TRY
    BEGIN CATCH
    SELECT
         ERROR_NUMBER() AS ErrorNumber
        ,ERROR_SEVERITY() AS ErrorSeverity
        ,ERROR_STATE() AS ErrorState
        ,ERROR_PROCEDURE() AS ErrorProcedure
        ,ERROR_LINE() AS ErrorLine
        ,ERROR_MESSAGE() AS ErrorMessage;
    END CATCH 
      

  2.   

    ⊙﹏⊙ 这里的内容不就是SqlError类的内容吗