我做个系统登陆窗口,用来登陆系统,但是出错,是这样的:错误:数据侵害
用于登陆窗体的用户名、密码判断
将ADO控件放置在dm窗体中...
implementationuses unit3;...
//判断
var
  str:string;begin
  str := 'select * from users where name='''+Edit1.Text+'''and pswd='''+Edit2.Text+'''';
  dm.judge.Close;
  dm.judge.SQL.Clear;
  dm.judge.SQL.Add(str);
  dm.judge.Open;
  if dm.judge.IsEmpty  then
    showmessage('你的输入用户或密码不正确,请重新输入')
  else
     showmessage('登陆 ok');已经这样都没事,现在为什么出错啊?HELP!

解决方案 »

  1.   

    'select * from username where name='+#39+edit1.text+#39+'and pwd='+#39+edit2.text+#39
    应该没有问题的
      

  2.   

    ...
    implementationuses unit3;...
    //判断
    var
      str:string;begin
      str := 'select * from users where name='''+Edit1.Text+'''and pswd='''+Edit2.Text+'''';
      dm.judge.Close;
      dm.judge.SQL.Clear;
      dm.judge.SQL.Add(str);
      dm.judge.Open;
      if dm.judge.RecordCount<>1  then
        showmessage('你的输入用户或密码不正确,请重新输入')
      else
         showmessage('登陆 ok');
      

  3.   

    var
      str,ed1,ed2:string;
    begin
      ed1:=edit1.text;
      ed2:=edit2.text;
      str := 'select * from users where (name=:ed1) and (pswd=:ed2)';
      dm.judge.Close;
      dm.judge.SQL.Clear;
      dm.judge.SQL.Add(str);
      dm.judge.Open;
      if dm.judge.RecordCount<>1  then
        showmessage('你的输入用户或密码不正确,请重新输入')
      else
         showmessage('登陆 ok');
    end;
      

  4.   

    楼上的朋友
    应该是这样吧
    if dm.judge.RecordCount=0  then
        showmessage('你的输入用户或密码不正确,请重新输入')
      else
         showmessage('登陆 ok');