写了个根据Sql语句返回数据表的静态函数,有两个Timer控制隔几秒去Oracle10G的数据库读取数据显示到界面上,但是运行一段时间后程序就当掉了,没有响应了,没有任何异常抛出,经过一些笨手段发现是停在 adapter.Fill(dS, "0");这个位置了,查了些资料也不知道是为什么,请CSDN的各位大虾帮忙啊,在线等,在此先谢过了。
 public static DataTable SelectDataToDataTable(string sSQL)
        {
            string Sql = sSQL;
            DataSet dS = new DataSet();
            DataTable dt = new DataTable();
            OleDbConnection conn = new OleDbConnection(ConnectionString);
            // 创建DataAdapter对象并初始化
            //OleDbDataAdapter adapter = new OleDbDataAdapter();
            
            OleDbDataAdapter adapter = new OleDbDataAdapter(Sql, conn);
            try
            {
                CheckConnOpen();//察看conn连接状态,没有open则打开
                //填充数据到DataSet
                adapter.Fill(dS, "0");
                dt = dS.Tables[0];
                dS.Dispose();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            finally
            {
                adapter.Dispose();
                conn.Close();
            }
            return dt;
        }