如何用VB连接SQL数据库做登录
答案:4 悬赏:70 手机版
解决时间 2021-12-18 11:05
- 提问者网友:你独家记忆
- 2021-12-18 02:42
如何用VB连接SQL数据库做登录
最佳答案
- 五星知识达人网友:忘川信使
- 2021-12-18 03:38
VB使用ADO数据库可以分为有源数据库和无源数据库,即是否使用了DSN数据源,如下例:
1、在连接数据库前首先要在VB菜单中“工程”-“引用”从中选择 microsoft activeX Data objects 2.6 library和 microsoft activeX Data objects recordset 2.6两个组件,这是在连接数据前所必做的工作。
2、接下来定义ADO的连接对象,如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
第一种方法采用的是无源的数据库连接方法
conn.ConnectionString = "Driver={sql server};server=JSZX3-11;uid=sa;pwd=;database=wzc"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用户名,密码 from login where 用户名='" & Trim(Combo1.Text) & "' And 密码='" & Trim(Text1.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText
If rs.EOF = True And rs.BOF Then
m = MsgBox("请重新登录", vbExclamation)
Text1.Text = ""
Text1.SetFocus
Else
Form1.Hide
End If
rs.Close
这是第二种方法连接数据库的方法,这一种方法是采用有源的方法与数据库连接的方法,代码如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "DSN=login;uid=sa;pwd=;"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用户名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText
Dim i As String
For t = 0 To Val(rs.RecordCount) - 1
i = Trim(rs.Fields("用户名").Value)
rs.MoveNext
Combo1.AddItem i
Next t
rs.Close
1、在连接数据库前首先要在VB菜单中“工程”-“引用”从中选择 microsoft activeX Data objects 2.6 library和 microsoft activeX Data objects recordset 2.6两个组件,这是在连接数据前所必做的工作。
2、接下来定义ADO的连接对象,如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
第一种方法采用的是无源的数据库连接方法
conn.ConnectionString = "Driver={sql server};server=JSZX3-11;uid=sa;pwd=;database=wzc"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用户名,密码 from login where 用户名='" & Trim(Combo1.Text) & "' And 密码='" & Trim(Text1.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText
If rs.EOF = True And rs.BOF Then
m = MsgBox("请重新登录", vbExclamation)
Text1.Text = ""
Text1.SetFocus
Else
Form1.Hide
End If
rs.Close
这是第二种方法连接数据库的方法,这一种方法是采用有源的方法与数据库连接的方法,代码如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "DSN=login;uid=sa;pwd=;"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用户名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText
Dim i As String
For t = 0 To Val(rs.RecordCount) - 1
i = Trim(rs.Fields("用户名").Value)
rs.MoveNext
Combo1.AddItem i
Next t
rs.Close
全部回答
- 1楼网友:蓝房子
- 2021-12-18 05:16
病情分析:
患了胰腺炎,通过测定血尿淀粉酶确诊后必须及时住院治疗,谨防病情恶化!在疾病早期,多采用保守治疗,如禁食水,补液,应用消炎药及生长抑素等.如经过1~2周的治疗,病情仍无好转,通常需要及时采取手术治疗.
指导意见:
在我国,多数急性胰腺炎由胆道疾病引起,因此待急性胰腺炎病情稳定,病人全身情况逐渐好转后,即应积极治疗胆道结石.对于酒精性胰腺炎病人,首要的是禁酒.另外,暴饮暴食导致胰腺炎者,应避免重蹈覆辙.再者,高脂血症引起的胰腺炎者,应长期服降脂药,并且饮食应低脂,清淡.
病情分析:
您好,胰腺是体内最大的消化液分泌器官,这个胰腺炎病人恢复期要注意饮食
指导意见:
对于这个情况,要注意预防感冒,低盐低脂低胆固醇饮食和少吃辛辣刺激性食物,戒烟酒,尽量避免暴饮暴食
病情分析:
您好,急性胰腺炎是一种由于胰管阻塞、胰管内压突然增高以及胰腺血液供应不足等原因引起的胰腺急性炎症。
指导意见:
您好,建议您注意限制脂类食物摄入,以流质、好消化的食物为宜,水果注意对血糖影响,原则上无禁忌。避免辛辣、刺激性食物。少食多餐。恢复期间不会突发休克。
- 2楼网友:动情书生
- 2021-12-18 04:51
病情分析:
患了胰腺炎,通过测定血尿淀粉酶确诊后必须及时住院治疗,谨防病情恶化!在疾病早期,多采用保守治疗,如禁食水,补液,应用消炎药及生长抑素等.如经过1~2周的治疗,病情仍无好转,通常需要及时采取手术治疗.
指导意见:
在我国,多数急性胰腺炎由胆道疾病引起,因此待急性胰腺炎病情稳定,病人全身情况逐渐好转后,即应积极治疗胆道结石.对于酒精性胰腺炎病人,首要的是禁酒.另外,暴饮暴食导致胰腺炎者,应避免重蹈覆辙.再者,高脂血症引起的胰腺炎者,应长期服降脂药,并且饮食应低脂,清淡.
病情分析:
您好,胰腺是体内最大的消化液分泌器官,这个胰腺炎病人恢复期要注意饮食
指导意见:
对于这个情况,要注意预防感冒,低盐低脂低胆固醇饮食和少吃辛辣刺激性食物,戒烟酒,尽量避免暴饮暴食
病情分析:
您好,急性胰腺炎是一种由于胰管阻塞、胰管内压突然增高以及胰腺血液供应不足等原因引起的胰腺急性炎症。
指导意见:
您好,建议您注意限制脂类食物摄入,以流质、好消化的食物为宜,水果注意对血糖影响,原则上无禁忌。避免辛辣、刺激性食物。少食多餐。恢复期间不会突发休克。
- 3楼网友:北方的南先生
- 2021-12-18 04:35
一、界面设计
各控件名称属性分别为:label1 、text1 、label2、text2、commandok、cmdcancel
二、代码设计如下:
1、首先添加一个模块,写上以下通用声明和sub main():
public conn as adodb.connection '通用(声明)
sub main()
set conn = new adodb.connection '通用(main)
conn.connectionstring = "provider=sqloledb.1;persist security info=false;" _
+ "user id=sa;password=123;initial catalog=denglu;data source=127.0.0.1" '连接数据库代码
conn.open
frmlogin.show '首先显示登录界面。也可以在工程属性中设置启动对象为sub main()或者frmlogin窗体
end sub
2、在frmlogin 代码窗口,为cmdok控件写以下代码:
private sub cmdok_click()
if text1.text = "" then
msgbox "用户名不能为空!", vbokonly + vbinformation, "友情提示"
text1.setfocus
exit sub '若用户名文本框内为空,则出现提示框
end if
if text2.text = "" then
msgbox "密码不能为空!", vbokonly + vbinformation, "友情提示"
text2.setfocus
exit sub '若输入密码文本框为空,也出现提示框
end if
dim strsql as string
strsql = "select * from user1 where username='" & trim$(text1.text) & "' and pwd='" & trim$(text2.text) & "' "
3、书写sql代码,查询user1表中是否存在窗体中用户输入的信息。
dim str as new adodb.recordset
set str = new adodb.recordset
str.cursorlocation = aduseclient
str.open strsql, conn, adopenstatic, adlockreadonly
with str
if .state = adstateopen then .close
.open strsql
if .eof then
try_times = try_times + 1
if try_times >= 3 then
msgbox "您已连续三次输入错误,系统将自动关闭", vbokonly + vbcritical, "警告"
unload me '若用户连续输入3次错误密码,则系统关闭
else
msgbox "对不起,用户名不存在或密码错误 !", vbokonly + vbquestion, "警告"
text1.setfocus
text1.text = ""
text2.text = ""
end if
else
unload me '若登录成功,则隐藏当前窗体
form2.show '然后显示form窗体
end if
end with
end sub
private sub cmdcancel_click()
end '若单击cmdcel按钮,则结束应用程序
end sub
4、运行中存在的问题:
代码中有dim conn as adodb.connection,运行时显示"用户定义类型未定义"
解决方法:点击“工程”--“引用”找到“microsoft activex data object 2.6”
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯