表 user  字段 username
                   比如,当要注册一个新user时需要检查这个这个用户名,我想:取到所有的username,然后再匹配....             可是我就是不知道用那个控件的那种方法,把所有的记录迭代 ,进行匹配(我知道直接用那个注册的用户名去数据库里面select,如果有记录就存在),我的目的,就是想熟悉控件,希望各位帮帮我(给出一些相关代码最好)

解决方案 »

  1.   

    印象中有个DBLookup***之类的控件,你看看
      

  2.   

    www.delphifans.com 这上面有代码,多下载点代码自己研究。刚学的话建议你放弃学Delphi!
      

  3.   


    DBLookupComboBOX组件的使用方法
    http://hi.baidu.com/endlesslove137/blog/item/47edc130391db090a8018e7d.html
      

  4.   

    为啥呢?不是很强大吗?没有什么比delphi好学的了,个人觉得
      

  5.   


    楼主应该是希望对查询的结果集进行遍历,以ADOQuery为例,示例代码如下: ADOQuery.First;
     while not ADOQuery.Eof do     // modify by lhc Update Not Null Records
     begin
       if ADOQuery1.FieldByName('username').AsString = 'NewUserName' then
       begin
         // 匹配到记录,跳出循环
         Break;
       end;
       
       ADOQuery.Next;
     end;
      

  6.   

    先加载到一个 Combobox1 , 然后用 combobox1.indexof类判断
      

  7.   

    是做登录注册功能的吗
    var
      sqlstr1:string;
      sqlstr2:string;begin
    if (edit1.text='') then showmessage('请输入用户名!')else
    if (edit1.Text<>'') then
       begin
         sqlstr1:='select * from userinfo where suser='+''''+edit1.Text+'''';
         adoquery1.Close;
         adoquery1.sql.Clear ;
         adoquery1.SQL.Text:=sqlstr1;
         adoquery1.Open;
         if adoquery1.RecordCount=1 then
         begin
             showmessage('该用户名已存在,请重新填写!');     //确有此人
              edit1.Text:='';
              edit2.Text:='';
              edit3.text:='';
         end
      else
         if (edit2.text<>edit3.text) then begin showmessage ('密码不一致!');
         edit2.Clear;
         edit3.Clear;
         edit2.SetFocus;
        end
         else
         begin
                 sqlstr1:='select * from userinfo';
                 adoquery1.Close;
                 adoquery1.sql.Clear ;
                 adoquery1.SQL.Text:=sqlstr1;
                 adoquery1.Open;
                 sqlstr2:='insert into userinfo (suser,password) values ('+''''+edit1.Text+''''+','+''''+edit2.text+''''+')';
                 adoquery2.Close;
                 adoquery2.sql.Clear ;
                 adoquery2.SQL.Text :=sqlstr2;
                 adoquery2.execSQL;
                 adoquery1.Close;
                 adoquery2.Close;
                 showmessage('注册成功!');
                 edit1.Text:='';
                 edit2.Text:='';
                 edit3.text:='';
                 form1.Show;
                 form2.Hide;
          end;
        end;
    end;
    参考下这个比较简单点,代码就比较麻烦了。呵呵~