C# 中对DataTable 的字段赋值 有时能采用null赋值,而有时候必须采用DBNull.Value 赋值 请问为什么?
如下例:if(cbHoleType.Checked!=true){for(inti=0;i<dt.Rows.Count;i++){dt.Rows[i]["spec_typ...
如下例:
if (cbHoleType.Checked!=true)
{
for (int i = 0; i < dt.Rows.Count;i++ )
{
dt.Rows[i]["spec_type"]=null;
}
}
if (cbOD_CO.Checked != true)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["od_co"] = DBNull.Value;
}
}
if (cbDesc.Checked != true)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["report_desc"] = null;
}
}
if (cbOD.Checked != true)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["od"] = DBNull.Value;
}
}
这个能测试通过,但是我在把DBNull.Value 换成Null是出错 四个字段都是数据库中一张表的字段,dt是取出来的DataTable
但是我的 cbDesc 同样也是dt的字段,却可以用null 赋值(每个字段都是有值的) 展开
if (cbHoleType.Checked!=true)
{
for (int i = 0; i < dt.Rows.Count;i++ )
{
dt.Rows[i]["spec_type"]=null;
}
}
if (cbOD_CO.Checked != true)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["od_co"] = DBNull.Value;
}
}
if (cbDesc.Checked != true)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["report_desc"] = null;
}
}
if (cbOD.Checked != true)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["od"] = DBNull.Value;
}
}
这个能测试通过,但是我在把DBNull.Value 换成Null是出错 四个字段都是数据库中一张表的字段,dt是取出来的DataTable
但是我的 cbDesc 同样也是dt的字段,却可以用null 赋值(每个字段都是有值的) 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询