一个窗体,
只有DataGrid和Adodc两个控件,DataGrid.DataSource=Adodc
Adodc的数据源选用一个MySQL的ODBC,
Adodc.RecordSource="SELECT * FROM tb"程序在前天运行还能正确地运行
昨天升级了VisualStudio 6 Service Pack 6之后就出现怪现象:当DataGrid的高度比较大,Adodc记录比较少,不能填满DataGrid的时候
所有记录都不可见当Adodc记录比较多,一页DataGrid都显示不完的时候,就能看见记录
但是往下移动了几条的时候,就出现错误:
数据提供程序或其他服务返回E_FAIL状态开始的时候我以为是我的XP系统跟VS6SP6不兼容,因为我家里的2000Server
安装了Vs6Sp6后也能正常运行上述的程序,但是当我将程序拿到另一个同事
的2000Server机器上运行时也出现同样的错误,并且他的VB6只打了sp5。
只有DataGrid和Adodc两个控件,DataGrid.DataSource=Adodc
Adodc的数据源选用一个MySQL的ODBC,
Adodc.RecordSource="SELECT * FROM tb"程序在前天运行还能正确地运行
昨天升级了VisualStudio 6 Service Pack 6之后就出现怪现象:当DataGrid的高度比较大,Adodc记录比较少,不能填满DataGrid的时候
所有记录都不可见当Adodc记录比较多,一页DataGrid都显示不完的时候,就能看见记录
但是往下移动了几条的时候,就出现错误:
数据提供程序或其他服务返回E_FAIL状态开始的时候我以为是我的XP系统跟VS6SP6不兼容,因为我家里的2000Server
安装了Vs6Sp6后也能正常运行上述的程序,但是当我将程序拿到另一个同事
的2000Server机器上运行时也出现同样的错误,并且他的VB6只打了sp5。
Option Explicit
Public conn As New ADODB.Connection
Public rs As New ADODB.RecordsetPrivate Sub Command1_Click()
conn.Execute "update Phonebook set UserName='FFT030735'"
End SubPrivate Sub Command2_Click()
'rs.MovePrevious
End SubPrivate Sub Form_Load()
Dim strconn As String
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False;Jet OLEDB:DataBase Password='123'"
conn.CursorLocation = adUseClient
conn.Open strconn
If rs.State = 1 Then rs.Close
rs.Open "select * from Phonebook", conn, 3, 3
Set Me.DataGrid1.DataSource = rs
End Sub
估计是MySQL ODBC有问题
有人给出的解决方法: CursorLocation= adUseServer
程序是可以顺利执行下去了但是无论是DataGrid还是MSHFlexGrid都显示不出数据了:(