在密码的Edit2的OnEnter事件中写 Query1.Active:=False;
Query1.Sql.Clear;
Query1.sql.add('select * from user where Name='#39+edit1.text+#39);
Query1.active:=True;
if query1.recordcount<=0 then
showmessage('No this User'+' '+edit1.text);
Query1.Sql.Clear;
Query1.sql.add('select * from user where Name='#39+edit1.text+#39);
Query1.active:=True;
if query1.recordcount<=0 then
showmessage('No this User'+' '+edit1.text);
解决方案 »
- button1在,menu1不在?
- delphi中 如何在窗体上记录下鼠标运行的轨迹!(比如windows自带的画图板)?请高手帮助!
- 求delphi英文文章!
- IdTcpServer,Array of Byte,writerBuffer(),readBuffer(),动态数组,紧急!!
- 过了一夜,发现自己很憔悴
- 关于Procedure和Function
- 如何判断某一个端口已经被占用(nmudp控件)
- 怎样获取其他程序DrawGrid中的内容?
- 如何捕捉ado连接错误阿?如连接超时,密码错误,数据库不存在等?
- 我是delphi新手,请问如何很好地实现事务?
- 请问一个简单的条件是用Ttable的filter还是Tquery?
- 怎么用OLE实现与手机的通讯??
如果以这种方法判断的话,我不需要知道数据库中的任何用户名或密码便可登入。
begin
if key=#13 then
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('Select *');
SQL.Add('From 表 别名');
SQL.Add('Where 条件');
ParamByName('cn').AsString:=UserEdit.Text;
Open;
if recordcount<>0 then PasswordEdit.SetFocus
else
begin
if MessageDlg('没有该用户!是否继续?',mtConfirmation,
[MBYes,MBNo],0)=mrYes then
begin
UserEdit.Clear;
UserEdit.SetFocus;
end;
end;
Close
end;
end;
end;
'select * from user where Name='#39+edit1.text+#39 + ' and password='#39+edit2.txt+#39
1 是否把代码放在 Username 控件的 OnExit 事件上,这样只要焦点离开了UserName输入区
就执行核查,逻辑上更好一些,我这么认为的,:-)
2 Query1.sql.add('select count(Name) from user where Name='#39+edit1.text+#39);
Query1.active:=True;
if query1.Fields[0].AsInteger = 0 then
showmessage('No this User'+' '+edit1.text);
这样就不用将整条记录返回来了,只需要取回感兴趣的内容就可以了...