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
展开
 我来答
网海1书生
科技发烧友

2013-11-16 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26225

向TA提问 私信TA
展开全部
把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
更多追问追答
追问
还是那样 哎
追答
另外,Form_Load()中还要加上:
cn.Open
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式