1、打开代码窗口,添加引用:Imports System.Data.SqlClient。
2、输入以下代码:
“Public conn1 As SqlConnection = New SqlConnection _
("server=192.168.1.79Initial Catalog= studentUser ID= panqePWD=shentai768@")”,vb就已经成功连接sql数据库了。
3、代码详解:声明关键字Public(因为是全局变量,所以用Public 来声明)。
4、连接参数。
5、如果SQL 数据库就在本机,则用以下代码连接:
("server=.Integrated Security=FalseInitial Catalog= studentUser ID= panqePWD=shentai768@")。
6:如果代码太长,影响可读性,可以用空格加"_"后,回车换行。
使用Access 2003来建立一个新的空数据库,命名为db1,存储路径为D:\db1,在db1中创建一张新的表格,命名为用户信息表,并设定用户信息表中有两个字段,分别为用户名称和用户口令,注意它们的数据类型均为文本格式,一定要注意,不然到后面代码就会出错,而且极难查错。 完成设计视图之后输入一条记录,记录中的用户名属性值为Angel,密码为123。输入一条记录的目的是用于检验登录代码是否正确以及起到一点演示效果。下面打开VB6.0,建立一个新的工程,命名为工程1,打开就有一个新的窗体Form1。布置界面如图所示,当然这只是个示例,你可以有更好的界面设计。图中,管理员名称和口令是两个文本框,名称分别为TxtUserName 和TxtPassword,登录和取消为两个按钮,名称分别为CmdLogin和CmdCancel。
准备工作完成之后,就可以添加代码了。代码如下,我将逐行注释。
取消按钮最为简单,代码如下:
Private Sub CmdCancel_Click()
'//结束
End
End Sub
下面添加登录按钮的代码。
Private Sub CmdLogin_Click()
Dim UserName As String
Dim PassWord As String
Dim conn As New ADODB.Connection '定义新的连接
Dim rs As New ADODB.Recordset'定义新的记录集
Dim StrSQL As String '定义字符串StrSQL
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0Data Source=D:\db1.mdb" '打开连接,指定连接路径和支持
UserName = Trim(TxtUserName.Text)'将文本框内的值赋给定义好的变量,trim为类型转换函数
PassWord = Trim(TxtPassword.Text)
If UserName = "" Or PassWord = "" Then'如果输入的用户名和密码为空则
MsgBox "对不起,用户或密码不能为空!请重新输入!!", vbCritical, "错误"
ElseIf UserName <>Empty And PassWord <>Empty Then '否则如果用户名与密码都不为空则Cnum自加1,Cnum为窗体载入时添加数字变量,用于记录错误登录次数
Cnum = Cnum + 1
StrSQL = "select * from 用户信息表 where 用户名称= '" &UserName &"'and 用户口令 ='" &PassWord &"'"
'从用户信息表中查询用户名称和用户口令两个字段并获得属性值,为下面的判断语句做准备
rs.Open StrSQL, conn, adOpenKeyset, adLockPessimistic '//打开记录集,可以用数字代替
If rs.EOF = True Then '此句为判断的核心语句,EOF的返回值表示为最后一行的后一行,和BOF类似,返回值为TRUE,则表示表中不存在这一行记录,由此判断密码是否与表中记录相一致,从而达到验证的目的。
MsgBox "对不起,无此用户或者密码不正确!请重新输入!!", vbCritical, "错误"
TxtUserName.Text = "" '置文本框为空
TxtPassword.Text = ""
TxtUserName.SetFocus
rs.Close '每次打开记录完成后需要注意及时关闭,不然下次使用时会出错
If Cnum >= 3 Then '判断输入错误次数,以提高系统的安全性能
MsgBox "对不起,您已经多次失败,无权 *** 作本系统!", vbCritical, "无权限"
Unload Me
Exit Sub
End If
Else '登陆成功,以下为权限验证
Form2.Show
Unload Me
End if
End if
End Sub
Private Sub Form_Load()
'//加载主窗时给文本框赋值
Cnum = 0
做不到,access数据库是本地数据库,不支持网络访问,建议你换成sql server或者mysql之类的数据库。注:如果一定要远程访问access也不是不行,有两种办法,一个是服务器如果跟你在同一个局域网,可以把数据库文件夹共享出来,当做共享文件访问。另一种是在那台服务器上装个sql server数据库,sql server可以创建出链接数据库链接到那个access.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)