Mysql vb6显示问题

Mysql vb6显示问题,mysql,vb6,adodb,Mysql,Vb6,Adodb,我已经在mysql5.0中创建了一个数据库。我想显示其中的数据。它有一个名为login的表。它有两列用户名和密码。在表单中,我有两个文本字段用户名和密码,我只想用数据库值验证输入,并显示消息框。成功建立了从vb到数据库的连接。但这不是验证输入。它的给定错误为“需要对象”。请任何人帮忙,我是vb新手 我正在使用vb6和mysql5.0 多谢各位 代码是: public con As ADOB.connection public rs2 As new ADOB.Recordest public s

我已经在mysql5.0中创建了一个数据库。我想显示其中的数据。它有一个名为login的表。它有两列用户名和密码。在表单中,我有两个文本字段用户名和密码,我只想用数据库值验证输入,并显示消息框。成功建立了从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

您已经声明了一个变量rs2,但是没有在任何地方使用它;相反,您始终引用一个不存在的变量rs

您声明了一个变量rs2,但您没有在任何地方使用它;相反,您自始至终都在引用一个不存在的变量rs

,您的代码示例存在一些问题:

  • VB6中的延续约定如下所示:

        con.connectionString = "DRIVER = {Mysql ODBC 3.51 driver};" & _
           "SERVER = localhost;" & _
           "DATABASE = vbtest;" & _
           "UID = root;" & _
           "PWD = ;"
    
  • 打字错误:
    sql=“选择*登录”
    ->
    sql=“选择*登录”

  • 输入错误:
    If-Ucase(txtlogin.text=trim(rs(0))和txtpassword.text
    ->
    If-Ucase(txtlogin.text=trim(rs(0))和txtpassword.text


您的代码示例存在一些问题:

  • VB6中的延续约定如下所示:

        con.connectionString = "DRIVER = {Mysql ODBC 3.51 driver};" & _
           "SERVER = localhost;" & _
           "DATABASE = vbtest;" & _
           "UID = root;" & _
           "PWD = ;"
    
  • 打字错误:
    sql=“选择*登录”
    ->
    sql=“选择*登录”

  • 输入错误:
    If-Ucase(txtlogin.text=trim(rs(0))和txtpassword.text
    ->
    If-Ucase(txtlogin.text=trim(rs(0))和txtpassword.text

作为提示,如果您设置了“Option Explicit”,VB6应该为您指出一些打字错误等。如果您没有此设置,但引用了一个不存在的变量(如rs),它将在您使用它时为您创建它

sql=“从登录中选择*”

应该是:

sql=“从登录中选择*”

您可能应该声明sql

如果Ucase(txtlogin.text=trim(rs(0))和txtpassword.text=trim(rs(1)),则

应该是

如果Ucase(txtlogin.text=trim(rs(0))和txtpassword.text=trim(rs(1)),则

另外,我认为使用StrComp比UCASE更有效——尽管两者都可以使用。

作为提示,如果您设置“Option Explicit”,VB6应该为您指出一些拼写错误等。如果您没有此设置,但引用不存在的变量(如rs),它将在使用时为您创建它

sql=“从登录中选择*”

应该是:

sql=“从登录中选择*”

您可能应该声明sql

如果Ucase(txtlogin.text=trim(rs(0))和txtpassword.text=trim(rs(1)),则

应该是

如果Ucase(txtlogin.text=trim(rs(0))和txtpassword.text=trim(rs(1)),则


另外,我认为使用StrComp比UCASE更有效,尽管两者都可以工作。

哪一行给了你错误?哪一行给了你错误?