当前位置:编程学习 > VB >>

做了个VB连接SQL的工资管理系统,有个登录界面的代码想请教一下,exesql()怎么用?

Private Sub Command1_Click()
On Error GoTo Errhandler:
Dim sql As String
Dim rs As ADODB.Recordset
Dim intUserKey As Integer
Dim intJobId  As Integer
  If Trim(txtusername.Text = "  ") Then
MsgBox "请输入用户名称!", vbExclamation
txtusername.SetFocus
Else
sql = "select * from users where  username=' " & txtusername.Text & " ' "
Set rs = exesql(sql)
  If rs.EOF = True Then
MsgBox " 没有此用户,请重新输入用户名!", vbExclamation
txtusername.SetFocus
Else
  If Trim(rs!userpassword) = Trim(Txtpassword.Text) Then
Intauthority =rs !jobID
Strusername = txtusername.txt
rs.Close
Me.Hide
Frmain.Show
Unload Me
Else
MsgBox "密码不正确,请重新输入密码!", vbExclamation
Txtpassword.SetFocus
Txtpassword.txt = " "
End If
End If
End If
Exit Sub
Errhandler:
MsgBox "错误号: " & "错误描述:" & Err.Description


End Sub
提示子程序或函数未定义 --------------------编程问答-------------------- sql = "select * from users where username='"& txtusername.Text & "'"
if rs.state<>adstateclosed then rs.close
rs.open sql,cnn,adopenkeyset,adlockreadonly
If rs.EOF = True Then
--------------------编程问答-------------------- upupupupupupupupupupupupupupupupupup --------------------编程问答-------------------- 按代码看是一定函数,返回指定SQL语句执行出的结果以RecordSet对象返回 --------------------编程问答-------------------- --------------------编程问答-------------------- 楼主的登录是在一本书里的“工资管理系统”的实例里看到的吧 --------------------编程问答-------------------- 楼主是抄来的一段代码,不完整,缺少exesql定义的一段sub。
完整代码如下:
'连接数据库
Private Sub Connect()
  '如果连接标记为真,则返回。否则会出错
  If IsConnect = True Then
    Exit Sub
  End If
  
  '关键New用于创建新对象cnn
  Set Cnn = New ADODB.Connection
  '设置连接字符串ConnectionString属性
  Cnn.ConnectionString = Conn
  '打开到数据库的连接
  Cnn.Open
  '判断连接的状态
  If Cnn.State <> adStateOpen Then
    '如果连接不成功,则显示提示信息,退出程序
    MsgBox "数据库连接失败"
    End
  End If
  
  '设置连接标记,表示已经连接到数据库
  IsConnect = True
End Sub

'断开与数据库的连接
Public Sub Disconnect()
  Dim rc As Long
  '如果连接标记为假,标明已经断开连接,则直接返回
  If IsConnect = False Then
    Exit Sub
  End If
  '关闭连接
  Cnn.Close
  '释放cnn
  Set Cnn = Nothing
  '设置连接标记,表示已经断开与数据库的连接
  IsConnect = False
End Sub

'使用Connect_Num控制数据库连接
Public Sub DB_Connect()
  Connect_Num = Connect_Num + 1
  Connect
End Sub


Public Sub DB_Disconnect()
  If Connect_Num >= CONNECT_LOOP_MAX Then
    Connect_Num = 0
    Disconnect
  End If
End Sub

'强制关闭api方式访问的数据库,计数器复位
Public Sub DBapi_Disconnect()
  Connect_Num = 0
  Disconnect
End Sub

'执行数据库操作语句
Public Sub SQLExt(ByVal TmpSQLstmt As String)
  '创建Command对象cmd
  Dim cmd As New ADODB.Command
  
  '连接到数据库
  DB_Connect
  '设置cmd的ActiveConnection属性,指定与其关联的数据库连接
  Set cmd.ActiveConnection = Cnn
  '设置要执行的命令文本
  cmd.CommandText = TmpSQLstmt
 'MsgBox TmpSQLstmt
  '执行命令
   cmd.Execute
  '清空cmd对象
  Set cmd = Nothing
  '断开与数据库的连接
  DB_Disconnect
End Sub
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,