求助:关于一个系统的登陆窗体!
小弟最近研究VB中的ADO控件,做一个简单的管理系统,有个登陆的问题请教大家:
一、数据库已经建好,用sql server2000建立的,里面有一个表user_pwd,其中存储了两列username,pwd,用于存放登陆者的名称和密码,并已插入数据,例:insert into user_pwd values('admin','admin')
二、添加登陆窗体中各个控件,和摸块,应用ActiveX ADO 控件,定义adoCon为adodb.connection;定义adoRs为adodb.recordset。。。。。。。。。。。。。。。
现在的问题是,我想输入一个用户名,然后输入密码,如果和数据库中的数据一致,就显示其他窗体,否则就弹出msgbox "请您先注册",然后注册即更新数据库。。。。。
我的思路是,现在在SQL中查询,然后再判断,二者是否一致,大概的代码如下:
dim strSQL as string
set adoRs =new adocon.recordset
strSQL="select username,pwd from user_pwd where username='"&txtUsername.text&"'"
adoRs=adocon.execute(strSql)
if '===============
这段怎么写? 怎么引用查询出来的一列里的某个值?adoRs.fields(0)-->这种好像不行,大家指教
'===============
end if
但不知道如何在VB中引用查询后的某行某列的一个数据,比如说,第一行的密码列:admin 怎么引用?
问题点数:0、回复次数:3Top
1 楼duanduan1122(俺村俺帅!!!)回复于 2005-06-01 23:31:25 得分 0
markTop
2 楼hezhuang00(壮壮)回复于 2005-06-02 03:47:09 得分 0
先在IF前定义2个变量用来接收值:
dim username as string,pwd as string
username=txtusername.text
pwd=密码控件名.text
再在adoRs=adocon.execute(strSql)写:
Do while not adors.eof
if adors(0) <> username then
adors.movenext
elseif adors(1)<>pwd then
msgbox "密码错误之类的话"
exit do
end if
if adors.eof then
msgbox "没有此用户之类的话"
else
关闭记录集
关闭连接
窗体.show
end if
loopTop
3 楼hezhuang00(壮壮)回复于 2005-06-02 03:48:52 得分 0
对不起,上面LOOP的位置写错了
dim username as string,pwd as string
username=txtusername.text
pwd=密码控件名.text
再在adoRs=adocon.execute(strSql)写:
Do while not adors.eof
if adors(0) <> username then
adors.movenext
elseif adors(1)<>pwd then
msgbox "密码错误之类的话"
exit do
end if
loop
if adors.eof then
msgbox "没有此用户之类的话"
else
关闭记录集
关闭连接
窗体.show
end if
Top




