检查列是否返回空值的最佳方法(从数据库到.net应用程序)
我有一个带有日期时间列的表 该列可以有 NULL 值
现在我使用 ODBC 连接连接到数据库,并将值获取到 .net / c# 中的 DataTable 中。
我可以通过
if(String.IsNullOrEmpty(table.rows[0][0].ToString())
{
//Whatever I want to do
}
Is String.IsNullOrEmpty 检查空值的正确方法来检查它是否为 NULL。
I have a table with a DateTime column
the column can have NULL values
Now I connect to the database using an ODBC connection and get the value into a DataTable in .net / c#.
I am able to check it for NULL by going
if(String.IsNullOrEmpty(table.rows[0][0].ToString())
{
//Whatever I want to do
}
Is String.IsNullOrEmpty the correct way to check for null values.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
在对象上使用 DBNull.Value.Equals 而不将其转换为一个字符串。
这是一个例子:
Use DBNull.Value.Equals on the object without converting it to a string.
Here's an example:
只需使用 DataRow.IsNull< /强>。它覆盖了接受列索引、列名称或DataColumn 对象作为参数。
使用列索引的示例:
尽管该函数称为
IsNull
,但它实际上与DbNull
进行比较(这正是您所需要的)。如果我想检查 DbNull 但没有 DataRow 怎么办?使用Convert.IsDBNull。
Just use DataRow.IsNull. It has overrides accepting a column index, a column name, or a DataColumn object as parameters.
Example using the column index:
And although the function is called
IsNull
it really compares withDbNull
(which is exactly what you need).What if I want to check for DbNull but I don't have a DataRow? Use Convert.IsDBNull.
IIRC,
(table.rows[0][0] == null)
不起作用,因为DbNull.Value != null;
IIRC, the
(table.rows[0][0] == null)
won't work, asDbNull.Value != null;
行.IsNull("列")
row.IsNull("column")
如果我们使用 EF 并在 while 循环中读取数据库元素,
If we are using EF and reading the database element in while loop then,
只是检查一下
或者你可以
Just check for
or you could