你连接成功了么? 你有没有 dim conn as adodb.connection set conn =new adodb.connection dim rs as adodb.recordset set rs=new adodb.reccordset
登陆窗口代码在这:'----------------------------------frmLogin.frm---------------------------------- Option Explicit'登陆 Private Sub cmdLogin_Click() '声明ADODB.Recordset对象变量 Dim objRecordset As ADODB.Recordset '声明SQL字符串 Dim strSQL As String
'查找用户名 strSQL = "select UserName from Users where UserName='" & _ Trim(txtUserName.Text) & "'" '获得符合输入的用户记录集 Set objRecordset = ExecuteSQL(strSQL) '如果输入的用户不存在 If objRecordset.EOF = True Then MsgBox " 用户名错误!", vbExclamation + vbOKOnly, "警告" txtUserName.SetFocus txtUserName.SelStart = 0 txtUserName.SelLength = Len(txtUserName.Text) Exit Sub End If
'从数据库中获得用户名 UserName = objRecordset.Fields(0)
'查找用密码 strSQL = "select UserName from Users where Password='" & _ Trim(txtPassword.Text) & "'" '获得符合输入的密码记录集 Set objRecordset = ExecuteSQL(strSQL) '如果输入的密码不存在 If objRecordset.EOF = True Or UserName <> objRecordset.Fields(0) Then MsgBox "密码错误!", vbExclamation + vbOKOnly, "警告" txtPassword.SetFocus txtPassword.SelStart = 0 txtPassword.SelLength = Len(txtPassword.Text) Exit Sub End If
'显示主界面 mdiMain.Show '卸载登陆窗体 Unload Me End Sub'退出登陆 Private Sub cmdQuit_Click() Unload Me End Sub'输入用户名 Private Sub txtUserName_KeyPress(KeyAscii As Integer) '输入回车表示输入结束,密码框获得焦点 If KeyAscii = 13 Then txtPassword.SetFocus End If End Sub'输入密码 Private Sub txtPassword_KeyPress(KeyAscii As Integer) '输入回车表示输入结束,登陆按钮获得焦点 If KeyAscii = 13 Then cmdLogin.SetFocus End If End Sub 请问那里错:、? 模块代码在这:'----------------------------------mdlSQL.bas---------------------------------- Option ExplicitPublic blnModifyDoc As Boolean Public blnModifyClass As Boolean Public strSQL As String Public blnFindDoc As Boolean Public blnFindClass As Boolean Public UserName As String Public strUserManage As StringPublic Function ExecuteSQL(ByVal strSQL As String) As ADODB.Recordset On Error GoTo ErrorTrap
'声明ADODB.Connection对象变量 Dim objConnection As ADODB.Connection '声明ADODB.Recordset对象变量 Dim objRecordset As ADODB.Recordset '声明一个存放SQL查询条件的数组 Dim strArray() As String
'定义新连接 Set objConnection = New ADODB.Connection '创建新连接 objConnection.ConnectionString = ConnectString '打开数据库 objConnection.Open
'Split函数返回一个下标从零开始的一维数组,包含指定数目的子字符串 strArray = Split(strSQL) If InStr("INSER,DELETE,UPDATE", UCase(strArray(0))) Then '执行SQL查询 objConnection.Execute strSQL Else '打开记录集 Set objRecordset = New ADODB.Recordset objRecordset.Open Trim(strSQL), objConnection, _ adOpenKeyset, adLockOptimistic Set ExecuteSQL = objRecordset End If
'释放对象 Set objRecordset = Nothing Set objConnection = Nothing Exit Function
'出错处理 ErrorTrap: Set objRecordset = Nothing Set objConnection = Nothing End Function'连接字符串赋值函数 Public Function ConnectString() As String ConnectString = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" _ & App.Path & "/StudentsManagement.mdb" End Function'用户权限管理 Public Function UserManage(ByVal intUsrClass As Integer) As String On Error GoTo ErrorTrap
'声明SQL字符串 Dim strSQL As String '声明ADODB.Connection对象变量 Dim objConnection As ADODB.Connection '声明ADODB.Recordset对象变量 Dim objRecordset As ADODB.Recordset
'定义新连接 Set objConnection = New ADODB.Connection '创建新连接 objConnection.ConnectionString = ConnectString '打开数据库 objConnection.Open '打开记录集 Set objRecordset = New ADODB.Recordset
'查询高级用户 strSQL = "select Administration from Users where UserName='" & UserName & "'" objRecordset.Open Trim(strSQL), objConnection, adOpenKeyset, adLockOptimistic '如果没查询到当前用户 If objRecordset.EOF = True Then MsgBox "非法用户!", vbExclamation + vbOKOnly, "警告" UserManage = "nothing" Exit Function End If '高级用户 If objRecordset.Fields(0) = "Y" Then UserManage = "Administration" Exit Function End If '关闭记录集 objRecordset.Close
'查询只读用户 strSQL = "select ReadOnly from Users where UserName='" & UserName & "'" objRecordset.Open Trim(strSQL), objConnection, adOpenKeyset, adLockOptimistic '只读用户 If objRecordset.Fields(0) = "Y" Then UserManage = "ReadOnly" Exit Function End If
'普通用户 Select Case intUsrClass '权限 Case 1 strSQL = "select Weight1 from Users where UserName='" _ & UserName & "'" Case 2 strSQL = "select Weight2 from Users where UserName='" _ & UserName & "'" Case 3 strSQL = "select Weight3 from Users where UserName='" _ & UserName & "'" Case 4 strSQL = "select Weight4 from Users where UserName='" _ & UserName & "'" End Select
'打开记录集 Set objRecordset = New ADODB.Recordset objRecordset.Open Trim(strSQL), objConnection, adOpenKeyset, adLockOptimistic '权限 If objRecordset.Fields(0) = "Y" Then UserManage = "True" Else UserManage = "False" End If
'释放对象 Set objRecordset = Nothing Set objConnection = Nothing Exit Function
'出错处理 ErrorTrap: Set objRecordset = Nothing Set objConnection = Nothing End Function 请大家多多指教 ,
你有没有
dim conn as adodb.connection
set conn =new adodb.connection
dim rs as adodb.recordset
set rs=new adodb.reccordset
Option Explicit'登陆
Private Sub cmdLogin_Click()
'声明ADODB.Recordset对象变量
Dim objRecordset As ADODB.Recordset
'声明SQL字符串
Dim strSQL As String
'查找用户名
strSQL = "select UserName from Users where UserName='" & _
Trim(txtUserName.Text) & "'"
'获得符合输入的用户记录集
Set objRecordset = ExecuteSQL(strSQL)
'如果输入的用户不存在
If objRecordset.EOF = True Then
MsgBox " 用户名错误!", vbExclamation + vbOKOnly, "警告"
txtUserName.SetFocus
txtUserName.SelStart = 0
txtUserName.SelLength = Len(txtUserName.Text)
Exit Sub
End If
'从数据库中获得用户名
UserName = objRecordset.Fields(0)
'查找用密码
strSQL = "select UserName from Users where Password='" & _
Trim(txtPassword.Text) & "'"
'获得符合输入的密码记录集
Set objRecordset = ExecuteSQL(strSQL)
'如果输入的密码不存在
If objRecordset.EOF = True Or UserName <> objRecordset.Fields(0) Then
MsgBox "密码错误!", vbExclamation + vbOKOnly, "警告"
txtPassword.SetFocus
txtPassword.SelStart = 0
txtPassword.SelLength = Len(txtPassword.Text)
Exit Sub
End If
'显示主界面
mdiMain.Show
'卸载登陆窗体
Unload Me
End Sub'退出登陆
Private Sub cmdQuit_Click()
Unload Me
End Sub'输入用户名
Private Sub txtUserName_KeyPress(KeyAscii As Integer)
'输入回车表示输入结束,密码框获得焦点
If KeyAscii = 13 Then
txtPassword.SetFocus
End If
End Sub'输入密码
Private Sub txtPassword_KeyPress(KeyAscii As Integer)
'输入回车表示输入结束,登陆按钮获得焦点
If KeyAscii = 13 Then
cmdLogin.SetFocus
End If
End Sub
请问那里错:、?
模块代码在这:'----------------------------------mdlSQL.bas----------------------------------
Option ExplicitPublic blnModifyDoc As Boolean
Public blnModifyClass As Boolean
Public strSQL As String
Public blnFindDoc As Boolean
Public blnFindClass As Boolean
Public UserName As String
Public strUserManage As StringPublic Function ExecuteSQL(ByVal strSQL As String) As ADODB.Recordset
On Error GoTo ErrorTrap
'声明ADODB.Connection对象变量
Dim objConnection As ADODB.Connection
'声明ADODB.Recordset对象变量
Dim objRecordset As ADODB.Recordset
'声明一个存放SQL查询条件的数组
Dim strArray() As String
'定义新连接
Set objConnection = New ADODB.Connection
'创建新连接
objConnection.ConnectionString = ConnectString
'打开数据库
objConnection.Open
'Split函数返回一个下标从零开始的一维数组,包含指定数目的子字符串
strArray = Split(strSQL)
If InStr("INSER,DELETE,UPDATE", UCase(strArray(0))) Then
'执行SQL查询
objConnection.Execute strSQL
Else
'打开记录集
Set objRecordset = New ADODB.Recordset
objRecordset.Open Trim(strSQL), objConnection, _
adOpenKeyset, adLockOptimistic
Set ExecuteSQL = objRecordset
End If
'释放对象
Set objRecordset = Nothing
Set objConnection = Nothing
Exit Function
'出错处理
ErrorTrap:
Set objRecordset = Nothing
Set objConnection = Nothing
End Function'连接字符串赋值函数
Public Function ConnectString() As String
ConnectString = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" _
& App.Path & "/StudentsManagement.mdb"
End Function'用户权限管理
Public Function UserManage(ByVal intUsrClass As Integer) As String
On Error GoTo ErrorTrap
'声明SQL字符串
Dim strSQL As String
'声明ADODB.Connection对象变量
Dim objConnection As ADODB.Connection
'声明ADODB.Recordset对象变量
Dim objRecordset As ADODB.Recordset
'定义新连接
Set objConnection = New ADODB.Connection
'创建新连接
objConnection.ConnectionString = ConnectString
'打开数据库
objConnection.Open
'打开记录集
Set objRecordset = New ADODB.Recordset
'查询高级用户
strSQL = "select Administration from Users where UserName='" & UserName & "'"
objRecordset.Open Trim(strSQL), objConnection, adOpenKeyset, adLockOptimistic
'如果没查询到当前用户
If objRecordset.EOF = True Then
MsgBox "非法用户!", vbExclamation + vbOKOnly, "警告"
UserManage = "nothing"
Exit Function
End If
'高级用户
If objRecordset.Fields(0) = "Y" Then
UserManage = "Administration"
Exit Function
End If
'关闭记录集
objRecordset.Close
'查询只读用户
strSQL = "select ReadOnly from Users where UserName='" & UserName & "'"
objRecordset.Open Trim(strSQL), objConnection, adOpenKeyset, adLockOptimistic
'只读用户
If objRecordset.Fields(0) = "Y" Then
UserManage = "ReadOnly"
Exit Function
End If
'普通用户
Select Case intUsrClass
'权限
Case 1
strSQL = "select Weight1 from Users where UserName='" _
& UserName & "'"
Case 2
strSQL = "select Weight2 from Users where UserName='" _
& UserName & "'"
Case 3
strSQL = "select Weight3 from Users where UserName='" _
& UserName & "'"
Case 4
strSQL = "select Weight4 from Users where UserName='" _
& UserName & "'"
End Select
'打开记录集
Set objRecordset = New ADODB.Recordset
objRecordset.Open Trim(strSQL), objConnection, adOpenKeyset, adLockOptimistic
'权限
If objRecordset.Fields(0) = "Y" Then
UserManage = "True"
Else
UserManage = "False"
End If
'释放对象
Set objRecordset = Nothing
Set objConnection = Nothing
Exit Function
'出错处理
ErrorTrap:
Set objRecordset = Nothing
Set objConnection = Nothing
End Function
请大家多多指教 ,