【问题标题】:SQL Exception DataSQL 异常数据
【发布时间】:2010-02-10 08:04:12
【问题描述】:

我编写了一个使用 SQL 异常类的程序,然后使用它显示主键违规的自定义消息。我也想要导致违规的主键值。如何从 sqlexception 对象中获取所有生成异常的主键。

    Catch se As SqlException       
    For i As Integer = 0 To se.Errors.Count - 1
     Select Case se.Errors(i).Number.ToString
      Case "2627" ''Primary Key Violation
        Dim drH As DataRow = _ErrorDataSet.NewRow
        drH.Item("Module") = _mod
        drH.Item("Code") = ""
        drH.Item("Description") = ""
        drH.Item("Error") = "Document Number Already Exists"
        _ErrorDataSet.Rows.Add(drH)
    Next
   End Try

【问题讨论】:

    标签: vb.net exception sqlexception


    【解决方案1】:

    我不相信 sqlexception 对象包含您要查找的数据。它确实包含错误文本中的键名,但其中没有任何值。 SQL Server 不会将该信息传递回 VB 以供使用。

    使主键值可用的一种方法是将数据存储在程序早期的变量中(您可能已经拥有),并在构建错误消息时使用这些变量。

    可能还有其他方法。如果您在本节之前提供更多代码,我们可能会提供更多帮助。如果这个建议不能满足你的需求,请告诉我有什么缺点,我们可以更进一步。

    【讨论】:

      猜你喜欢
      • 2012-02-11
      • 1970-01-01
      • 2016-03-10
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 2015-03-14
      • 2022-01-17
      • 1970-01-01
      相关资源
      最近更新 更多