c# - 带字符串的 IsDBNul

标签 c# mysqldatareader

我尝试使用

currentOrder.PONumber = (reader.IsDBNull("PONumber") ? "Geen klantreferentie" : reader.GetString("PONumber"));

我有以下错误:

The best overloaded method match for 'System.Data.Common.DbDataReader.IsDBNull(int)' has some invalid arguments.

Argument 1: cannot convert from 'string' to 'int'.

当我在 IsDBNull 中使用列索引时,出现以下错误:

Data is Null. This method or property cannot be called on Null values.

我该如何解决这个问题?

最佳答案

使用

reader.IsDBNull(reader.GetOrdinal("PONumber")) 

或者,如果您要迭代很多行,请保留序号并重新使用它:

var poNumberOrdinal = reader.GetOrdinal("PONumber");

while (reader.Read())
{
    reader.IsDBNull(poNumberOrdinal);
}

关于c# - 带字符串的 IsDBNul,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22455632/

相关文章:

c# - 检测 Webbrowser 是否重定向

c# - 在 nunit 测试中使用连接字符串

c# - ExecuteReader 上的 Mysql 异常

mysql - 错误: select command denied to user '<userid>' @'<ip-address>' for table '<table-name>'

c# - MySqlDataReader: DataTable.Fill(reader) 抛出 ConstraintException

c# - 有没有办法在 C# 中针对 XML/HTML 使用 JQuery 样式选择器?

c# - 选择最大年龄 C#

c# - 未知加密类型打开 pdf 文件

MySQL datetime字段查询按小时排序 :minute

c# - ASP.NET - 页面重新加载后 GridView 为空