请教一个关于读取Dataset数据的问题
有一个问题请教一下有没有办法.下面是代码.
有一个Dataset类型的变量txt,
int i=1;
if (i==1){
string txt1=txt.tables[0].rows[0]["字段1"].tostring(); //i=1的时候字段2为空
}else{
string txt1=txt.tables[0].rows[0]["字段2"].tostring(); //i!=1的时候字段1为空
}
代码中我没注意大小写,可能还有其他问题大家不要考虑.类似这样的代码在运行的时候总是会报错,不是字段1处错误就是字段2处错误.
如果不报错的话用try{}应该可以吧,我想请教一下大家如果不用try{}还有别的代码少的办法吗?
比如txt.check.tables[0].rows[0]["字段1"] //有没有类似check这样的方法来检测字段是否存在,就不用报错了.
[解决办法]
帮顶
[解决办法]
string txt1=null;string txt2=null;if (ds.Tables[0].Columns.Contains("字段1")){ txt1=txt.tables[0].rows[0]["字段1"].tostring();}if (ds.Tables[0].Columns.Contains("字段2")){ txt2=txt.tables[0].rows[0]["字段2"].tostring(); }
[解决办法]
int i=1;
if (i==1){
string txt1=txt.tables[0].rows[0]["字段1"].tostring()== "" ? "" :txt.tables[0].rows[0]["字段1"].tostring();
}else{
string txt1=txt.tables[0].rows[0]["字段2"].tostring()== "" ? "" :txt.tables[0].rows[0]["字段2"].tostring();
}
楼主这样应该可以了
[解决办法]
for(int i=0;i<txt.tables[0].rows.count;i++)
{
string txt1=(i==1?txt1=txt.tables[0].rows[0]["字段1"].tostring():txt.tables[0].rows[0]["字段2"].tostring());
}