vb连接sql server 2005登陆界面代码出错误了

PublicloginsAsBooleanPrivateSubCommand1_Click()DimconnAsADODB.ConnectionDimrsAsADODB.... Public logins As Boolean

Private Sub Command1_Click()

Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim stru$, strp$, strsql$
Static count As Byte

stru = Text1.Text
strp = Text2.Text
If stru = "" Then
MsgBox "用户名不能为空,请输入用户名!", , "登陆错误"
Text1.SetFocus
Exit Sub
ElseIf strp = "" Then
MsgBox "密码不能为空,请输入密码!", , "登陆错误"
Text2.SetFocus
Exit Sub
End If
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
'conn.ConnectionString = "provider=SQLOLEDB.1;Password=sa;persist security info=false;user id=sa;initial catalog=tms"
conn.ConnectionString = "provider=SQLOLEDB.1;datasource=local;persist security info=false;integrated security=sspi;database=tms"

strsql = "select * from login where 用户名='" & stru & " 'and 密码='" & strp & "'; "
conn.Open
rs.Open strsql, conn

If rs.EOF Then
count = count + 1
MsgBox "用户名不存在或者密码错误!", , "登录失败"
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
Else
logins = True
用户名 = rs("用户名").Value
密码 = rs("用户名").Value
登陆界面.Hide
主界面.Show
End If
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
If count >= 3 Then
MsgBox "超过登录次数,无权登录本系统!", , "登录失败"
End
End If
End Sub

错误是实时错误'-2147217865(80040e37)'
vb小白表示压力山大
展开
 我来答
syx54
2014-06-26 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2738万
展开全部
先把你的连接字符串
"provider=SQLOLEDB.1;datasource=local;persist security info=false;integrated security=sspi;database=tms"

修改成如下试试:
"Provider=SQLOLEDB.1;Password=XXXX1;Persist Security Info=True;User ID=sa;Initial Catalog=XXXX2;Data Source=XXXX3"
XXXX1是登录SQL SERVER 的密码
XXXX2是数据库名
XXXX3是服务器名,你SQL SERVER如果是安装在本机,也可以用local或者一个点。
追问
改了之后还是不行,我的数据库是windows验证的,我就把password=XXXX1删掉了,结果显示用户sa登录失败
追答
为了获得正确的连接字符串,我往往这样做:
先在窗体上添加一个ADODC控件,(通过[工程] -- [部件],添加)
然后,使用连接向导,可以获得完整的连接字符串,把这个字符串,用到你上面的代码里就可以了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式