日期:2014-05-18 浏览次数:20867 次
一个服务器程序中有以下内容:
…
public DataSet GetDataSet(string sql)
{
DataSet ds = new DataSet();
try
{
OracleDataAdapter adapter = new OracleDataAdapter(sql, con);
adapter.Fill(ds);
}
catch//(Exception ex)
{
Close();
}
finally
{
Close();//关闭数据库连接
}
return ds;
}
…
DataSet ds=GetDataSet(str)
foreach (DataRow dr in ds.table[0].Rows)
{
...
}
服务器程序运行了一段时间后出错,经分析,以上做法有问题,当数据源出现错异常时,致使ds.table[0]为空而造成ds.table[0].Rows无法执行,所以程序出错.
解决的办法很多,最常见的是用try语句,但将以上内容改成以下内容可能是最简洁的.
public DataTable QueryToDT(string sql)
{
&nbs