学校让我们做一个课程设计,本人被分到设计一个图书馆管理系统,现在在设计登录界面,遇到了很大的困难,快要疯了 
通过数据表来查找借书证号和密码,对应输入的用户名和密码,如果查找到,那么调用窗体2.。。 
下面是一段代码:
implementation
 uses unit2;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select * from dzb where jszh=:b');
query1.parambyname('b').asstring:=quotedstr(id.text);
query1.open;
if (query1.eof=false)  then
begin
welcome.caption:='拒绝使用';
welcome.Label1.caption:='帐户未注册';
end
else
begin
welcome.Caption:='欢迎使用';
welcome.Label1.Caption:='欢迎进入图书馆管理系统';
end;
welcome.ShowModal;
end;
end.现在出现无论输入什么都提示:欢迎使用了
该怎么办?刚才的问题没有调试就结了,各位高手,不好意思啊

解决方案 »

  1.   

    if (query1.eof=false)  then  这样的写法?
      

  2.   

    刚刚改的,没有做修改,可以运行的有()与没有都是一样的
    我试过if (query1.eof=false) and (query1.recordcount=0)  then
    运行后,还是那个问题
      

  3.   

    我的意思eof本来就是1个boolean类型的,干嘛还要eof=false
      

  4.   

    query1.SQL.Clear; 
    query1.SQL.text:= 'select * from dzb where jszh='''+id.text+''''; 
    query1.open;
      

  5.   

    判断query1.RecordCount试试
      

  6.   

    你是不是没选对库,或字段选错了?? 或者你那表里没记录吖!! 你有没有在数据库上试过语句吖??'select * from dzb where jszh='''+trim(id.text)+''''
      

  7.   

    表是对的,query1.recordcount也用过了,都不行
    我要疯了,做了2天多了,一点进展都没有
      

  8.   


    function UserLog(const UserNam,PassWord:String):Boolean
    begin
      Result:=False;
      With ADOQ do
      begin
        SQL.Clear;
        SQL.Add(Format('Select Count(id) as Count from UserTable where UserName=%s and PassWord=%s',[quotedstr(UserName),quotedstr(PassWord)]));
        Open;
        Result:=FieldByName('Count').asInteger >0;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject); 
    begin
      if UserLog(UserName,PassWord) then
      begin
        showmessage("OK");
      end
      else
      begin
        showmessage("NO");
      end;end;
      

  9.   

    你的if 反了吧?query1.eof=false 应该说明有数据不是么或者用 if query1.RecordCount > 0或者10楼的办法应该都行
      

  10.   

    procedure TForm1.Button1Click(Sender: TObject); 
    begin 
    query1.Close; 
    query1.SQL.Clear; 
    query1.SQL.add('select * from dzb where jszh=:b'); 
    query1.parambyname('b').asstring:=id.text
    try
      query1.open;
      if (query1.RecordCount = 0 )  then
      begin
        welcome.caption:='拒绝使用';
        welcome.Label1.caption:='帐户未注册';
      end
      else
      begin
        welcome.Caption:='欢迎使用';
        welcome.Label1.Caption:='欢迎进入图书馆管理系统';
        welcome.ShowModal;
      end;
    except
    end;
    end;
      

  11.   

    Eof 不是指向最后一行数据吗?
    if (query1.Eof = False) 不就等于 if not query1.Eof ?
    not Eof 不就是有数据吗?
    有数据应该就是"欢迎"啦?
    Maybe是这个问题?题外话:似乎“图书管理系统”是高校毕设出现频率最高的题目了……
      

  12.   


    procedure TForm1.Button1Click(Sender: TObject); 
    begin 
    query1.Close; 
    query1.SQL.Clear; 
    query1.SQL.add('select * from dzb where jszh='''+trim(id.text)+''' '); 
    query1.open; 
    if (query1.bof) or (query1.eof)  then 
     begin 
      welcome.caption:='拒绝使用'; 
      welcome.Label1.caption:='帐户未注册'; 
      exit;
     end 
    else 
     begin 
       welcome.Caption:='欢迎使用'; 
       welcome.Label1.Caption:='欢迎进入图书馆管理系统'; 
       welcome.ShowModal;
     end; 
    end; 
    end.