找回密码
 加入
搜索
查看: 4250|回复: 9

MSSQL数据库,如何进行帐户验证

  [复制链接]
发表于 2009-2-8 18:40:45 | 显示全部楼层 |阅读模式
想用au3写一个账户登陆程序,账户密码都记录在MSSQL数据库里,要如何把输入的账户与数据库中的进行对比验证呢?
下面的代码可以实现从数据库读取账户,但是没办法把输入的账户与数据库中的对比验证。
请求高手指点啊!!
#include <GUIConstantsEx.au3>
;#include <md5.au3>
;#include <StringMD5.au3>

$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("driver={SQL Server};server=(local);uid=sa;pwd=123456;database=user")
$RS = ObjCreate("ADODB.Recordset")
$RS.ActiveConnection = $addfld
$RS.Open("Select * From user")
;建立MSSQL数据库连接,打开user表

GUICreate("登陆", 240, 90, @DesktopWidth / 2 - 120, @DesktopHeight / 2 - 45, -1, 0x00000018)
GUICtrlCreateLabel("账户:", 10, 8, 250, 15)
$ID = GUICtrlCreateInput("", 45, 5, 180, 20)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlCreateLabel("密码:", 10, 38, 250, 15)
$PW = GUICtrlCreateInput("", 45, 35, 180, 20)
$btn = GUICtrlCreateButton("Ok", 90, 65, 60, 20)
GUISetState()

$msg = 0
While $msg <> $GUI_EVENT_CLOSE
        $msg = GUIGetMsg()
        Select
                Case $msg = $btn
                        ExitLoop
        EndSelect
WEnd
If GUICtrlRead($ID) = "" Or GUICtrlRead($PW) = "" Then
        MsgBox(4096, "错误", "请输入完整的数据!")
        Exit
EndIf
;$c_md5 = md5(GUICtrlRead($PW))
;MsgBox(4096, "账户", GUICtrlRead($ID))
;MsgBox(4096, "密码", $c_md5)

While Not $RS.eof And Not $RS.bof
        If @error = 1 Then ExitLoop
If GUICtrlRead($ID) = $RS.Fields(1).value Then ;$RS.Fields(1).value是从数据库读取到的账户名
        MsgBox(4096, "yes", $nid)
        ExitLoop
        EndIf
        $RS.movenext 
WEnd
$RS.close
$addfld.Close


[ 本帖最后由 298311657 于 2009-2-8 19:00 编辑 ]
发表于 2009-2-8 18:52:12 | 显示全部楼层
可能是末尾有空字符的缘故,可以用正则匹配~比如这样:
If GuiCtrlRead($ID) == stringRegExpReplace($rs.Fields(1).value, "\s+$", "") then
           msgBox(4096, 'yes', $nID)
           ;..........
EndIf

[ 本帖最后由 pusofalse 于 2009-2-8 18:53 编辑 ]
 楼主| 发表于 2009-2-8 19:00:07 | 显示全部楼层
非常感谢,2楼的回答!!
谢谢!!
发表于 2009-2-9 00:29:44 | 显示全部楼层
看不明白,你们来指点下。。
发表于 2010-5-9 00:16:19 | 显示全部楼层
正在学习,多谢
发表于 2011-1-11 20:12:52 | 显示全部楼层
学习了~谢谢
发表于 2011-2-21 15:16:24 | 显示全部楼层
我也学学.
发表于 2011-3-2 18:15:04 | 显示全部楼层
学习了,保存下来,将来有用。呵呵。。。。谢谢楼主
发表于 2011-8-31 17:30:55 | 显示全部楼层
保存下!留着一后看!
发表于 2015-5-4 04:48:45 | 显示全部楼层
学习。。。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-28 16:20 , Processed in 0.080174 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表