最好能讲解一下,数据库是access的
解决方案 »
- 使用winsock控件,不断重复的断开和建立连接,出现错误 10048 “地址正在使用”
- 怎样象winrar一样创建一个鼠标快捷按扭,在任意程序中点右键均能弹出我设定的命令按扭
- 为什么DIR()函数认不到空目录?
- VB6如何把时间变量即date类型转换成整形,以供VC使用?
- 真正XP风格菜单(有影子效果,而且支持中文),不用任何第三方控件、自定义控件和任何API函数。
- vb与matlab得dde数据交换的问题
- 在VB里用showcursor这个API用得很好,可是在生成的应用程序里就是隐藏不了,吐血!!请高手指教!
- 当我点击DataGrid某一行某一列时,如何取得这一单元格的数据?另外我如何取得它是多少行多少列?
- 问一句题外话,谁知道今年高考成绩在哪个网站上查询?我等着给分
- 有谁懂得vb对IE开发的求教下
- 如何固定窗体大小
- 新的SuperRuntimeLibrary已经推出(你可以轻松创建线程,获取“***”)
'包含了用户管理的一些概念Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As LongType UserInfo '登录用户信息自定义变量
UserID As String
UserName As String
UserJob As String
End Type
Public LovelyUser As UserInfo '记录登录用户名的信息,用于显示和验证权限
'***************************************************************************************
'功 能: 获取登录用户信息
'编写人:
'参 数:
'返回值: 自定义用户变量,存储用户信息
'***************************************************************************************
Function GetUser() As UserInfo
Dim usr As String
Dim aa As String
Dim Temp As String
Dim AdoRs As New ADODB.Recordset
Dim strSQl As String
'获得登录域用户名
usr = Space(256)
aa = GetUserName(usr, 256)
Temp = Left(RTrim(usr), Len(RTrim(usr)) - 1)
'获得权限表中信息
strSQl = "select * from persons where UserID='" & Temp & "'"
AdoRs.Open strSQl, gadoConn, adOpenKeyset, adLockReadOnly
If Not AdoRs.EOF And Not AdoRs.BOF Then
GetUser.UserID = Trim(Temp)
GetUser.UserName = Trim(AdoRs!UserName)
GetUser.UserJob = Trim(AdoRs!UserJob)
Else
MsgBox "您没有使用此系统的权限!", vbOKOnly, "警告!"
GetUser.UserID = Temp
GetUser.UserName = "NoRight"
Exit Function
End If
End Function
密码错误
endif
Private Sub command1_click()
Dim mrs As adodb.Recordset
txtsql = "select*from oper where 用户名='" & Trim$(Text1(0).Text) & "'" & " and 口令='" & Trim$(Text1(1).Text) + "'"
Set mrc = exesql(txtsql)
If mrc.recordcount = 0 Then
n = n + 1
If n < 3 Then
MsgBox "没有这个用户,继续登录", vbOKOnly + vbExclamation, "信息提示"
Text1(0).Text = ""
Text1(1).Text = ""
Text1(0).SetFocus
Else
MsgBox "以登录失败三次,退出系统", vbOKOnly + vbExclamation, "信息提示"
mrc.Close
Unload Me
End If
userlevel = Trim(mrc.fields("级别"))
mrc.Close
Unload Me
Main.Show
End If
End Sub
为什么运行时说As adodb.Recordset用户定义类型未定义,怎么改啊!?答完了就改分 啊
在Set mrc = exesql(txtsql) 前面
如果
text1(0).text="' or ''=''"
text1(1).text="' or ''=''"
试试你的程序看验证能不能通过。
text1(0).text="' or ''='"
text1(1).text="' or ''='"
问题是你前面一句是Dim mrs As adodb.Recordset,mrs和mrc是否是一个记录集?既然没有定义,set mrc怎么行?建议在函数值返回前先加一句set mrc(mrs)=new adodb.recordset.
第一个end if 前好象还应该加上一个else才对。
还有select语句没有必要那么复杂吧?txtsql = "select * from oper where 用户名='" & Trim$(Text1(0).Text) & "'" & " and 口令=" & Trim$(Text1(1).Text) 就可以了呀!