Ana*_*nth 83 .net c# validation datatable null
检查数据表中是否有空值的最佳方法是什么?
在我们的场景中,大多数情况下,一列将具有所有空值.
(这个数据表由第三方应用程序返回 - 我们试图在我们的应用程序处理数据表之前进行一个valiadation)
hun*_*ter 155
尝试将列的DBNull.Value值与值进行比较,以便以您认为合适的任何方式过滤和管理空值.
foreach(DataRow row in table.Rows)
{
object value = row["ColumnName"];
if (value == DBNull.Value)
// do something
else
// do something else
}
Run Code Online (Sandbox Code Playgroud)
如果要检查表中是否存在空值,可以使用此方法:
public static bool HasNull(this DataTable table)
{
foreach (DataColumn column in table.Columns)
{
if (table.Rows.OfType<DataRow>().Any(r => r.IsNull(column)))
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
这会让你写这个:
table.HasNull();
Run Code Online (Sandbox Code Playgroud)
zav*_*vaz 23
foreach(DataRow row in dataTable.Rows)
{
if(row.IsNull("myColumn"))
throw new Exception("Empty value!")
}
Run Code Online (Sandbox Code Playgroud)
Stu*_*ser 10
你可以循环抛出行和列,检查空值,跟踪是否有bool的null,然后在循环遍历表并处理它之后检查它.
//your DataTable, replace with table get code
DataTable table = new DataTable();
bool tableHasNull = false;
foreach (DataRow row in table.Rows)
{
foreach (DataColumn col in table.Columns)
{
//test for null here
if (row[col] == DBNull.Value)
{
tableHasNull = true;
}
}
}
if (tableHasNull)
{
//handle null in table
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用break语句从foreach循环中退出
//test for null here
if (row[col] == DBNull.Value)
{
tableHasNull = true;
break;
}
Run Code Online (Sandbox Code Playgroud)
通过表的其余部分保存循环.
| 归档时间: |
|
| 查看次数: |
241520 次 |
| 最近记录: |