我有以下SQL获取从TSQL输出第一个错误消息SqlDataReader的
INSERT INTO [dbo].[table1] ([val1], [val2])
OUTPUT INSERTED.*
VALUES (@val1, @val2)
我用SqlCommand.ExecuteReader()
获得SqlDataReader
,读取outputed行。当参数正确时,它一切正常。如果我执行命令,与同一价值VAL1和val2读者静静地失败
ALTER TABLE [dbo].[table1]
ADD CONSTRAINT [chk_table1_distinct_values]
CHECK (val1 <> val2)
:
的问题开始,当表不被满足的参数,例如限制。我所能做的只是检查SqlDataReader.HasRows
属性,即返回false
。
所以我的问题是如何从返回的SqlDataReader
得到更具体的错误?
可以以此为SqlCommand.CommandText =执行 “的try ... catch ..” 和的ExecuteReader( )?闻起来更像是一个存储过程...... – m0sa 2011-01-20 16:04:26