对Access数据库加密一般都是使用Access软件实现吧?我不清楚代码怎么实现,但是用软件就只需要在菜单 *** 作就可以了。具体来说就是文件菜单选择打开,在”打开“后面的下拉式莱单中选为独占模式打开,这样打开文件后,使用工具菜单里面的安全,里面就有设置数据库密码使用向导设置数据库连接的好处是省去写代码的过程,弊端是不易更改连接
使用代码连接的好处是需要编写代码,但容易更改和维护
如:数据库的位置变化,直接更改代码显然容易一些
代码:
imports Systemdataoledb /引用命名空间/
dim cnstr = "provider=microsoftjetoledb40,data source=Access数据库文件位置" /定义连接字符串/
dim cn as oledbconnection = new oledbconnection(cnstr) /定义连接/
cnopen() /打开连接/
sqlstr="select from 或其他sql"
dim cmd as sqlcommand=new sqlcommand()
cmdcommandtext=sqlstr
cmdconnection=cn
/以上是建立执行语句/
cmdexecutenonquery() 不返回结果
cmdexecutescalar() 返回单个结果
cmdexecutereader() 返回结果集
/以上是执行sql语句的方法/
cnclose() /关闭连接/
你要做用户验证的话,先根据用户名查询对应的密码,再判断用户输入的密码和查询结果是不是相同就可以了
用cmdexecutescalar() 这个方法'下面是一个用户登录系统,是用VB+Access做的,你看看
'准备工作: 数据库 D:\Mydbmdb 数据库中,建数据表:UserInfo,数据表中,建字段:User,Password,并添加一条记录
'点工程->引用 选中 Microsoft Activex Data Objects 21 Library
'控件:添加一个文本框,一个命令按钮
Private Sub Command1_Click()
Dim s As String
Dim Conn As New ADODBConnection
Dim Rs As New ADODBRecordset
ConnOpen "Provider=MicrosoftJetOLEDB40;Data Source=D:\mydbmdb"
'请将数据库名及路径换成你的实际数据库名及路径
Dim UserName As String
Dim Password As String
s = Text1Text
If s = "1" Or s = "2" Then
UserName = InputBox("请输入用户名")
Password = InputBox("请输入用户密码")
sql = "Select From [UserInfo] where User='" & UserName & "'"
'UserInfo请换成你的实际数据表名
RsOpen sql, Conn, 1, 3
If RsEOF Then
MsgBox "没有找到此用户"
Else
If Rs("Password") = Password Then
If s = "1" Then
MsgBox "123"
ElseIf s = "2" Then
MsgBox "456"
End If
Else
MsgBox "密码错误"
End If
End If
End If
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)