一个窗体,
只有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。

解决方案 »

  1.   

    呵呵,不清楚,偶不能down東西,自然也就沒有安裝過你換成ado連接看看,不要用控件去綁定
      

  2.   

    ado寫法:
    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
      

  3.   

    绑定容易啊,全套ADO的话还是麻烦的.像这种问题,真的是说不清楚了.
      

  4.   

    我用ADO试过了,还是出现同样的错误。
    估计是MySQL ODBC有问题
      

  5.   

    Google了网上的帖子,发现也有其他人有这样的问题
    有人给出的解决方法: CursorLocation= adUseServer
    程序是可以顺利执行下去了但是无论是DataGrid还是MSHFlexGrid都显示不出数据了:(