请问在下面的代码中:
DataTable dt = ds.Tables["programdata"];
DataRow dr;
for (int I=0;I<=dt.Rows.Count-1;I++)
{
dr = dt.Rows[I];
if (dr["ProgramType"].ToString()=="1")
{
dr["ProgramType"]= "tv";
}
}
if 语句中的 dr["ProgramType"]= "tv";语法有误不,
写成上面的提示有误,但是写成下面的就OK
dr["ProgramType"]= 111;
也就是说,赋值时只能是数字,不能是字符串,定义的DataRow dr 中dr 是什么类型啊?
DataTable dt = ds.Tables["programdata"];
DataRow dr;
for (int I=0;I<=dt.Rows.Count-1;I++)
{
dr = dt.Rows[I];
if (dr["ProgramType"].ToString()=="1")
{
dr["ProgramType"]= "tv";
}
}
if 语句中的 dr["ProgramType"]= "tv";语法有误不,
写成上面的提示有误,但是写成下面的就OK
dr["ProgramType"]= 111;
也就是说,赋值时只能是数字,不能是字符串,定义的DataRow dr 中dr 是什么类型啊?
应该不会有编译时错误,只可能有运行时错误
dr[]存储的是object类型,可以存储任何数据
写成上面的提示有误,但是写成下面的就OK
dr["ProgramType"]= 111;
也就是说,赋值时只能是数字,不能是字符串,定义的DataRow dr 中dr 是什么类型啊?对于dr某个字段的赋值,有误或者正确都是运行时候进行检查的。所以你首先需要看看ds.Tables["programdata"]表中对于此字段的类型定义。
如果是number的, "tv"是字符串,怎么能赋值给数字字段呢?
这里programtype的值应该对应一个存储programtype详细内容的附表. 通过此字段关联.