日期:2014-05-18  浏览次数:20867 次

服务器程序中数据访问异常导致出错的教训(.net c#)

一个服务器程序中有以下内容:

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