首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

为何用了一个Adodc1控件操作ACCESS打开时如此的缓慢。chanping.mdb大小为700M,该怎么处理

2012-03-25 
为何用了一个Adodc1控件操作ACCESS打开时如此的缓慢。chanping.mdb大小为700MSub Form_Load()Adodc1.Conne

为何用了一个Adodc1控件操作ACCESS打开时如此的缓慢。chanping.mdb大小为700M
Sub Form_Load()
  'Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\chanping.mdb" & ";"
  'Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\chanping.mdb;Persist Security Info=False"
  'Adodc1.CommandType = adCmdText
  'Adodc1.RecordSource = "select * from chaping" '这样测试了一下,ADODC控件也会很慢的。

如何解决这个问题?窗体导引时要等上2分钟左右才能打开。(没有报错)

而当我如果使用 rs As New ADODB.Recordset 记录集的话,你们如何程序运行过程中改变查询的语句。
比如第一次打开是是查询全部,单击了Combo1.改变了选择的值的时候。我只要用rs rs1 rs2这样不断的增加记录变量。不要不停考虑是否要去断开的。你们如何解决这种问题 cn2.Open strCn
  If Combo1.Text = "ALL" Then
  rs2.Open "Select * From chaping", cn2, adOpenKeyset, adLockOptimistic
  Else
  rs2.Open "select * from chaping where item= '" & Trim(Combo1.Text) & "'", cn2, 1, 1 ' adOpenKeyset, adLockOptimistic
  End If

[解决办法]
表中记录比较多最好带条件打开记录集

[解决办法]
超过100M就不应该再用mdb了.
最好不要用select *,而且最好有where,不要太大数据量.如果实在大数据量可以考虑分页.
如果不要修改数据的话,最好用只读,向前游标读取.
为了更好地提升用户体验,你可以考虑用异步方式,加进度条等.

热点排行