нужна помощь с ADO в VB6 - PullRequest
       16

нужна помощь с ADO в VB6

0 голосов
/ 06 марта 2011

Я делаю POS-систему для моего друга, очень маленького и простого.

Практически все сейчас закодировано, кроме просмотра инвентаря

Я пытаюсь сделать так, чтобы при нажатии на кнопку он загружался в список коды UPC и имя, связанное с этим UPC.

Я новичок в программировании и пытаюсь сделать это сам. Я знаю, что мне нужно получить несколько элементов в базе данных (сколько UPC), а затем выполнить цикл добавления информации в просмотр списка.

но у меня проблемы с получением количества строк в базе данных для начала и окончания цикла

1 Ответ

1 голос
/ 06 марта 2011

Это было бы проще, если бы вы опубликовали часть своего кода, чтобы мы могли видеть, с чего вы начинаете.

Тем не менее, вы должны быть в состоянии сделать что-то похожее на ЭТО (мой VB / ADO ржавый, поэтому я мог бы немного взорвать синтаксис. Как отмечает Крис выше, VB6 становится немного длиннее) В большинстве случаев вам не нужно знать, сколько записей возвращено, чтобы заполнить ваш listView - просто используйте цикл «До» следующим образом:

Public Sub LoadListview()
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset

    Dim SQL As String
    SQL = _
        "SELECT . . . " & _
        "FROM . . . " & _
        "WHERE . . . "

    Set cn = New ADODB.Connection

    With cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "YourConnectionString"
        .Open
    End With

    Set rs = New ADODB.Recordset

    rs.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

    With rs
        If Not .EOF Then
            Do Until .EOF
                ' Your code to populate your ListView Here
            .MoveNext
            Loop
        End If
    End With

    rs.Close
    cn.Close

        Set rs = Nothing
    Set cn = Nothing

End Sub

Обратите внимание, что я немного упростил ситуацию. на самом деле, если вы передаете критерии в предложение WHERE, вам обычно следует использовать PARAMETERS в сочетании с объектом ADODB.Command. Я не включил ADODB.Command в этом примере.

...