проблема с отображением vb6 - PullRequest
0 голосов
/ 19 марта 2010

Я создал базу данных в MySQL5.0.Я хочу отобразить данные из него.у него есть таблица с именем логин.он имеет 2 столбца имя пользователя и пароль.в форме у меня есть 2 текстовых поля имя пользователя и пароль, я просто хочу проверить ввод с помощью значений базы данных и отобразить окно сообщения.соединение от vb к базе данных установлено успешно.но это не проверка ввода.ошибка его выдачи как «объект требуется».пожалуйста, помогите всем телом я новичок в VB.

я использую VB6 и MySQL5,0 спасибо

код:

public con As ADOB.connection
public rs2 As new ADOB.Recordest

public sub preconnection()
    set con = New connection
    set rs = New recordest
    set con = New ADOB.connection
    con.connectionString = "DRIVER = {Mysql ODBC 3.51 driver};"_
                 & "SERVER = localhost;"_
                 & "DATABASE = vbtest;"_
                 & "UID = root;"_
                 & "PWD = ;"
    con.cursorLocation = 
    con.open
end sub

sql = "select *from login"
set rs = con.execute (sql)
if rs.BOF = False Then
    While Not rs.EOF
        If Ucase(txtlogin.text = trim(rs(0)) Ad txtpassword.text = Trim(rs(1)) Then
            username = rs(0)
            loginname = True

            MsgBox("welcome")
        End if
        rs.movenext
     wend
End Sub

Ответы [ 3 ]

2 голосов
/ 19 марта 2010

Вы объявили переменную rs2 , но вы ее нигде не используете; вместо этого вы ссылаетесь на несуществующую переменную rs

1 голос
/ 19 марта 2010

Есть несколько проблем с вашим примером кода:

  • соглашение о продолжении в VB6 выглядит так:

        con.connectionString = "DRIVER = {Mysql ODBC 3.51 driver};" & _
           "SERVER = localhost;" & _
           "DATABASE = vbtest;" & _
           "UID = root;" & _
           "PWD = ;"
    
  • опечатка: sql = "select *from login" -> sql = "select * from login"

  • опечатка: If Ucase(txtlogin.text = trim(rs(0)) Ad txtpassword.text -> If Ucase(txtlogin.text = trim(rs(0)) And txtpassword.text

0 голосов
/ 23 марта 2010

В качестве подсказки, если вы установите «Option Explicit», VB6 должен указать некоторые опечатки и т. Д. Для вас. Если у вас нет этого набора, но вы ссылаетесь на несуществующую переменную (например, rs), он просто создаст ее для вас, когда вы ее используете.

sql = "выбрать * из логина"

Вероятно, должно быть:

sql = "выбрать * из логина"

Вы, вероятно, должны объявить sql.

Если Ucase (txtlogin.text = trim (rs (0)), Ad txtpassword.text = Trim (rs (1)) Тогда

должно быть

Если Ucase (txtlogin.text = trim (rs (0)) и txtpassword.text = Trim (rs (1)), то

Кроме того, я думаю, что более эффективно использовать StrComp, чем UCASE - хотя оба будут работать.

...