我在mysql5.0中创建了一个数据库。我想显示它的数据。它有一个名为login的表。它有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
答案 0 :(得分:2)
您已声明变量 rs2 ,但您并未在任何地方使用它;相反,你指的是一个不存在的变量 rs
答案 1 :(得分:1)
您的代码示例存在一些问题:
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
答案 2 :(得分:0)
作为提示,如果你设置“Option Explicit”,VB6应该为你指出一些拼写错误等。如果你没有这个设置,但是引用一个不存在的变量(比如rs),它会在你使用它时为你创建它。
sql =“select * from login”
应该是:
sql =“select * from login”
您应该声明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更有效 - 尽管两者都有效。