gpt4 book ai didi

c# - 在 C# 中检查 DBNull

转载 作者:行者123 更新时间:2023-11-30 21:00:55 24 4
gpt4 key购买 nike

我有一个 StronglyTyped 数据行对象,我可以像这样访问它。

accountFilter.Currency_ID

Currency_ID(整数类型)是行名称。 AccountFilter 是数据行。当它给出一个值时,没问题。但是当列值为 NULL 时,它给出了 DBNull Exception。我想检查 DBNull 的值,但它不起作用。

bool a = Convert.IsDBNull(accountFilter.Currency_ID.ToString()); //doesnt work

不属于 these示例不起作用。

有什么解决办法吗?

最佳答案

通常,类型化数据集表中的一行对每个可为空的列都有一个 IsXYZNull() 方法。你试过了吗

bool a = accountFilter.IsCurrency_IDNull();

但是,这仅在 accountFilter 不是 DataRow 类型,而是类型化数据集中的专用数据行类型 时有效。

例如:如果您有一个类型化数据集,其中包含一个名为 Test 的表,则将有一个专门的表类 TestTable 和一个名为 测试表行。如果 Test 表包含一个可为空的字段 TestField,则 TestTableRow 类将包含一个方法 IsTestFieldNull(),因此你可以打电话

bool isnull = testTable[0].IsTestFieldNull();

判断TestTable testTable第一行的TestField字段是否为null

请注意,以下内容不起作用,因为结果不是 TestTableRow 类型,而是 DataRow 类型,因此您必须将其转换为 测试表行:

bool isnull = testTable.Rows[0].IsTestFieldNull(); // Won't compile
bool isnull = ((TestTableRow)testTable.Rows[0]).IsTestFieldNull(); // Will compile because of cast

关于c# - 在 C# 中检查 DBNull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com