Проблема пустых данных в VB6 - PullRequest
0 голосов
/ 18 мая 2010

Недавно я столкнулся с проблемой; когда я связываю набор записей с сеткой данных и запускаю приложение, сетка данных не заполняется, даже если у набора записей есть данные

Я использую следующий код

Option Explicit
Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim recordset As New ADODB.recordset





Private Sub InitializeConnection()
Dim str As String

str = _
   "Provider=Microsoft.Jet.OLEDB.4.0;" & _
   "Data Source=" + App.Path + "\phonebook.mdb;" & _
   "Persist Security Info=False"

    conn.CursorLocation = adUseClient

    conn.ConnectionString = str

    conn.Open (conn.ConnectionString)


End Sub
Private Sub AbandonConnection()
    If conn.State <> 0 Then
        conn.Close
    End If
End Sub
Private Sub Persons_Read()

    Dim qry_all As String

   ' qry_all = "select * from person,web,phone Where web.personid = person.id And phone.personid = person.id"
    qry_all = "SELECT * FROM person"

    Call InitializeConnection

    cmd.CommandText = qry_all
    cmd.CommandType = adCmdText

    Set cmd.ActiveConnection = conn


    If conn.State = 1 Then

       Set recordset = cmd.Execute()

    End If

    Call BindDatagrid


    Call AbandonConnection


End Sub
Private Function Person_Add()

End Function
Private Function Person_Delete()

End Function
Private Function Person_Update()

End Function
Private Sub BindDatagrid()



   Set dg_Persons.DataSource = recordset


    dg_Persons.Refresh
End Sub

Private Sub cmd_Add_Click()
    Person_Add
End Sub

Private Sub cmd_Delete_Click()
    Person_Delete
End Sub

Private Sub cmd_Update_Click()
    Person_Update
End Sub

Private Sub Form_Load()
    Call Persons_Read

End Sub

Private Sub mnu_About_Click()
    frm_About.Show

End Sub

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 25 октября 2011

Для меня я смог исправить проблему, добавив эту строку в мой код после установки тайм-аута соединения

conn.CursorLocation = adUseClient

Это решило мою проблему

0 голосов
/ 18 мая 2010

Это было решено не закрытием соединения сразу после запроса!

...