access 数据库访问速度问题

gxh973121 2006-05-09 06:51:32
现象1.当我用vs 2005 OleDataAdapter Fill 一个有7000条记录的表到DataSet 显示出来要28秒左右
现象2.用vs 2005 ODBCDataAdapter Fill (1)中表时用时 8秒左右
现象3.我用delphi ado 还是加载(1) 中表显示数据,才要1秒,立刻就可以显示

想请问用.net 2005 ado.net 怎样才能达到delphi 中 ado 的访问速度
...全文
163 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
namhyuk 2006-05-10
  • 打赏
  • 举报
回复
TO:gxh973121()
至少在2005里可以‘直接’绑定DataGridView的。注意,我说的就是Winform。

可以用DataReader
DataTable dt = new DataTable();
using(SqlConnection conn = new SqlConnection("Your Connection String"))
{
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from YourTable";
conn.Open();
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
dt.Load(reader);
}
dataGridView1.DataSource = dt;

chengbo1983 2006-05-10
  • 打赏
  • 举报
回复
试试把
DataSet.EnforceConstraints设为false
gxh973121 2006-05-10
  • 打赏
  • 举报
回复
虽然还没有找到确切原因,不过结贴了
chengbo1983 2006-05-10
  • 打赏
  • 举报
回复
DataSet包括表间关系等东东
添加数据时会检查每一行的有效性和引用的完整性
速度自然比较慢

如果很在意速度,我觉得是否可以考虑强类型的dataset?
gxh973121 2006-05-10
  • 打赏
  • 举报
回复
自己顶,datareader 是非常快,但datareader 并不能直接绑定到winform DataGrid,如果把datareader 中数据自己填充到datatable 中速度还是一样慢
chengbo1983 2006-05-09
  • 打赏
  • 举报
回复
用DataReader

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧