当前位置: 代码迷 >> ASP.NET >> 请问一个关于读取Dataset数据的有关问题
  详细解决方案

请问一个关于读取Dataset数据的有关问题

热度:2649   发布时间:2013-02-25 00:00:00.0
请教一个关于读取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这样的方法来检测字段是否存在,就不用报错了.

------解决方案--------------------------------------------------------
帮顶
------解决方案--------------------------------------------------------
C# code
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());
}
  相关解决方案