做一个MIS,数据库用SQL SERVER2000.建库,配置好数据源后,在做登陆窗口时,为了可以修改
密码,在库中加了一个表admin来存放用户名和密码.下面时登陆窗口中确认按钮的代码procedure TF_login.BtnLoginClick(Sender: TObject);
begin adoquery1.sql.Clear ;
adoquery1.SQL.Add('select * from admin where login='''+edlogin.Text +''' and password='''+medpwd.Text+'''');
adoquery1.open; if adoquery1.recordcount=0 then
begin
showmessage('登陆失败,请检查您的帐号和密码!'); end
else
begin f_login.Close ;
end;
end;调试中在adoquery1.open这句后报错"[Microsoft][ODBC SQL SERVER DRIVER][SQL Server]对象名'admin'无效".请高手指点!
密码,在库中加了一个表admin来存放用户名和密码.下面时登陆窗口中确认按钮的代码procedure TF_login.BtnLoginClick(Sender: TObject);
begin adoquery1.sql.Clear ;
adoquery1.SQL.Add('select * from admin where login='''+edlogin.Text +''' and password='''+medpwd.Text+'''');
adoquery1.open; if adoquery1.recordcount=0 then
begin
showmessage('登陆失败,请检查您的帐号和密码!'); end
else
begin f_login.Close ;
end;
end;调试中在adoquery1.open这句后报错"[Microsoft][ODBC SQL SERVER DRIVER][SQL Server]对象名'admin'无效".请高手指点!
解决方案 »
- 菜鸟求助 关于MAPX在delphi中的应用
- 关于查询数据库内容
- 寻:在昆明工作的delphi高手做家教,最好懂网络编程及.net
- 我的DELPHI7怎么找不到ServerSocket和ClientSocket控件
- 高分!!这两句代码怎么都无效???????????急!在线·
- 真让人心寒
- 关于ACTIVEFORM在IE中的问题,急需要解答 请教 请教(IE下载ACTIVEFORM问题)
- 如何得到一个可以指定背景的Memo或者可以编辑的Lable?
- 急-->如何在NT局域网环境内查找某个NT Server是否存在,也就是确定是否已经启动
- 谁能举个多线程的例子!
- 请问:如何用程序控制全选dbgrid中的所选数据行?急
- 关于Tquery定义的问题,在家进来看看吧~!!!!来者有分~!!
改成下面试试:adoquery1.SQL.Add('select * from [admin] where [login]='''+edlogin.Text +''' and [password]='''+medpwd.Text+'''');
2.检查你的登陆用户是否admin的属主(Owner)
3.检查一下你的登陆用户是否有权访问admin表
select * from admin (login=edlogin.text) and (password=medpwd.texe)
登陆用户确实是admin表的Owner,
在查询分析器中,select语句可以正常运行.
还有如果在程序中把admin表改成其他表则会提示login字段无效.
将其Active设为True看看成不成功就知道了
呵呵,试试看在你的medpwd 中输入括号里面内容(1'' or ''1''>''0),你的密码验证就失灵了。
adoquery1.sql.Clear ;
adoquery1.SQL.Add('select * from admin where login='+QuotedStr(edlogin.Text)+'and password='+QuotedStr(medpwd.Text));
adoquery1.open;
if adoquery1.recordcount=0 then
begin
showmessage('登陆失败,请检查您的帐号和密码!');
end
else
begin
f_login.Close ;
end;要是这样不行的话........!!
嗨..! 试试再说吧!
啊...晕啊!