问题描述
写了个根据Sql语句返回数据表的静态函数,有两个Timer控制隔几秒去Oracle10G的数据库读取数据显示到界面上,但是运行一段时间后程序就当掉了,没有响应了,没有任何异常抛出,经过一些笨手段发现是停在adapter.Fill(dS,"0");这个位置了,查了些资料也不知道是为什么,请CSDN的各位大虾帮忙啊,在线等,在此先谢过了。。。。publicstaticDataTableSelectDataToDataTable(stringsSQL){stringSql=sSQL;DataSetdS=newDataSet();DataTabledt=newDataTable();OleDbConnectionconn=newOleDbConnection(ConnectionString);//创建DataAdapter对象并初始化//OleDbDataAdapteradapter=newOleDbDataAdapter();OleDbDataAdapteradapter=newOleDbDataAdapter(Sql,conn);try{CheckConnOpen();//察看conn连接状态,没有open则打开//填充数据到DataSetadapter.Fill(dS,"0");dt=dS.Tables[0];dS.Dispose();}catch(Exceptione){thrownewException(e.Message);}finally{adapter.Dispose();conn.Close();}returndt;}
解决方案
解决方案二:
自己顶下,跪求大虾出出主意阿....
解决方案三:
该回复于2011-12-14 09:34:07被版主删除
解决方案四:
是不是数据量很大啊
解决方案五:
“adapter.Fill(dS,"0");”,这句有问题,第二个参数是表名称,难道你的表名是"0"?
解决方案六:
用线程去读取吧....估计是前一次加载没完成第二次加载就给数据塞死了.......