调用DataAdapter 的 fill 得到空的datatable的解决方法
我发现有时候调用OleDbDataAdapter.Fill(DataTable dt)会得到一个空的table,可以给定的sql语句应该是有返回的
原因是通常是sql中包含多条语句,其中第一条语句是没有结果集的,而后面的语句才有结果集
比如执行下面的语句,a是表的名称,a表里有记录
SQL:
update a set b = 10
select * from a
C#:
DataTable dt = new DataTable();
ad.Fill(dt);
这个dt就不包含任何行
解决的方法是,把SQL语句改成
set nocount on
update a set b = 10
select * from a
set nocount off
或者
用DataSet取代DataTable
posted on 2004-07-26 16:50:00 by yaodong 评论(6) 阅读(4390)