vb.net - 在没有记录返回的情况下执行标量以捕获错误

标签 vb.net ado.net

我有下面这段代码:

Dim lJobName As String = ""
SQLCommand.CommandText = "Select JobName from Jobs where Id = @Id "
SQLCommand.Parameters.Add(New SqlParameter("@Id", SqlDbType.Int))
SQLCommand.Parameters(0).Value = var_id
lJobName = SQLCommand.ExecuteScalar()

问题是没有记录怎么抓?

最佳答案

无论手册怎么说,与 Nothing 进行比较是行不通的。因此,当结果集为空时,If lJobName Is Nothing 将不会被触发。

与 DBNull.Value 相比,DID 对我有用:

If lJobName Is DBNull.Value Then
    'Do something with the error condition
Else
    'Do something with lJobName which contains a valid result.
End If

值得注意的是,当结果集为空时(即没有找到记录),这不是“错误”。

关于vb.net - 在没有记录返回的情况下执行标量以捕获错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13253109/

相关文章:

sql - VB.Net写入大量数据到SQLite-DB

.net - 最安全的软件许可方式

c# - 如何在 C# 中将 System.Collection.IEnumerable 转换为 List<T>?

.net - Windows UI 自动化无法识别按钮控件

c# - 为什么不能将 null 转换为 C# 中的类型参数 T?

正则表达式仅匹配货币数字

sql-server - 如何解决 DTS_E_OLEDBERROR。在 ssis

mysql - SSIS 2008 mySQL 源代码到 SQL 2008

sql-server - 在 ADO.NET 中使用 SQLXML,谁需要处理?

c# - 使用 COUNT(*) 运行 SQL 查询,以便我们知道有多少记录将通过 DataReader