vb参数类型错误
PrivateSubLabel3_Click()EndSubPrivateSubCommand1_Click()strSQL="select*from密码表whereus...
Private Sub Label3_Click()
End Sub
Private Sub Command1_Click()
strSQL = "select * from 密码表 where username='" & Text1.Text & "'" & "and password='" & Text2.Text & "'"
rs.Open strSQL, cn, 1, 3
If rs.EOF Then
MsgBox "用户名或密码错了", 32, "警告"
Else
Form5.Show
Unload Me
End If
End Sub
Private Sub Command2_Click()
If Text1.Text = "" Or Text2.Text = "" Then
MsgBox "用户名和密码不能为空", 16 + 4, "警告"
Else
Dim rs As New ADODB.Recordset
str1 = "select * from 密码表 where username='" & Text1.Text & "'"
rs.Open strSQL, cn, 1, 3
rs.AddNew
rs("username") = Text1.Text
rs("password") = Text2.Text
rs.Update
MsgBox "注册成功", 64, "信息提示"
End If
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=supermarket"
End Sub
调试注册的时候参数类型错误,我的sql密码表是字符型的 没错啊 求救啊
rs.Open strSQL, cn, 1, 3 这是调试时的黄色部分
后面还有 open.cn 展开
End Sub
Private Sub Command1_Click()
strSQL = "select * from 密码表 where username='" & Text1.Text & "'" & "and password='" & Text2.Text & "'"
rs.Open strSQL, cn, 1, 3
If rs.EOF Then
MsgBox "用户名或密码错了", 32, "警告"
Else
Form5.Show
Unload Me
End If
End Sub
Private Sub Command2_Click()
If Text1.Text = "" Or Text2.Text = "" Then
MsgBox "用户名和密码不能为空", 16 + 4, "警告"
Else
Dim rs As New ADODB.Recordset
str1 = "select * from 密码表 where username='" & Text1.Text & "'"
rs.Open strSQL, cn, 1, 3
rs.AddNew
rs("username") = Text1.Text
rs("password") = Text2.Text
rs.Update
MsgBox "注册成功", 64, "信息提示"
End If
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=supermarket"
End Sub
调试注册的时候参数类型错误,我的sql密码表是字符型的 没错啊 求救啊
rs.Open strSQL, cn, 1, 3 这是调试时的黄色部分
后面还有 open.cn 展开
1个回答
展开全部
把Form_Load中的下面这行代码移到所有代码的最上面:
Dim cn As New ADODB.Connection
所谓“所有代码的最上面”,是指当前窗体所有代码的最上面,或者说是通用区域。
意思就是要把cn设为全局变量,这样在所有事件过程中才能通用。否则的话,你在Form_Load事件过程中Dim的cn变量,就只能在Form_Load中使用,到了Command1_Click就无效了!
同理,你那个rs变量也存在这样的问题,这个你就自己看着办吧,设为全局变量,就要注意每次用完都要把它关闭(rs.Close);如果设为局部变量,就要在每个需要使用rs的事件过程中加上:
Dim rs As New ADODB.Recordset
Dim cn As New ADODB.Connection
所谓“所有代码的最上面”,是指当前窗体所有代码的最上面,或者说是通用区域。
意思就是要把cn设为全局变量,这样在所有事件过程中才能通用。否则的话,你在Form_Load事件过程中Dim的cn变量,就只能在Form_Load中使用,到了Command1_Click就无效了!
同理,你那个rs变量也存在这样的问题,这个你就自己看着办吧,设为全局变量,就要注意每次用完都要把它关闭(rs.Close);如果设为局部变量,就要在每个需要使用rs的事件过程中加上:
Dim rs As New ADODB.Recordset
更多追问追答
追问
还是那样 哎
追答
另外,Form_Load()中还要加上:
cn.Open
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询