我建了
  我在数据库中建了document数据库
  在数据库中建了USERID的用户信息表
  其中有ID
   PASSWORD
   的属性
在DELPHI下面我建了
  2个FORM
  第一个FORM我用了两个EDIT 
  用三个IMAGE 作为按钮
   其中一个是登陆,一个是注册,一个是退出
 在登陆按钮下面我的代码如下:
procedure TForm1.Image1Click(Sender: TObject);
var
searchoptions:tlocateoptions;begin
   searchoptions:=[lopartialkey];
if (table1.locate('ID',edit1.Text,searchoptions)=true)and(table1PASSWORD.value=edit2.text)
then
begin
 showmessage('Ì«ºÃÁË£¬ÎÒ»¹ÒÔΪÄã²»»áÀ´ÄØ');
 edit1.SetFocus;
 edit1.Text:='';
 edit2.text:='';
 form2.show;
 form1.hide;
 end
 else
 begin
    i:=i+1;
  showmessage('ÄãµÄÓû§ÃûºÍÃÜÂë´íÎó');
 edit1.SetFocus;
   edit1.Text:='';
   edit2.text:='';
  if i=3
  then
    begin
     showmessage('¶Ô²»Æð£¡ÄãµÄÕʺÅÒÔÊäÈëÈý´Î²»ÕýÈ·Çë´ÓÐÂÆô¶¯');
     application.terminate;
     end;
     end;
     end;
在注册按钮下的代码如下:
procedure TForm1.Image2Click(Sender: TObject);
begin
     form1.hide;
     form3.show;
end;
在退出的按钮下的代码:
就不用说了吧!
 
接下来我建第2个FORM
 在地二个FORM下也有两个三个EDIT
 用三个IMAGE做为按钮:
  一个是注册,一个是重填,一个是返回
在注册下的按钮代码是:
procedure TForm3.Image2Click(Sender: TObject);
var
 searchoptions:tlocateoptions;
begin
searchoptions:=[locaseinsensitive];
if(edit1.Text='')or(edit2.text='')or(edit3.Text='')then
  showmessage('ÄúµÄÓû§ÃûºÍÃÜÂë²»ÄÜΪ¿Õ')
    else if(edit2.Text<>edit3.Text)then
 begin
    showmessage('&Auml;ú&micro;&Auml;&Atilde;&Uuml;&Acirc;&euml;&Oacute;&euml;&Atilde;&Uuml;&Acirc;&euml;&Ntilde;é&Ouml;¤&sup2;&raquo;&Otilde;&yacute;&Egrave;·');
    edit2.Text:='';
    edit3.Text:='';
    edit2.SetFocus;
 endelse if
  (table1.Locate('ID',edit1.Text,searchoptions)=false )then
 begin
 table1.Edit;
 table1.insert;
 table1.FieldByName('ID').asstring:=edit1.Text;
 table1.FieldByName('PASSWORD').AsString:=edit2.Text;
    table1.Post;
 end
 else showmessage('&acute;&Euml;&Oacute;&Atilde;&raquo;§&Atilde;&ucirc;&Ograve;&Ntilde;&frac34;&shy;&acute;&aelig;&Ocirc;&Uacute;&Ccedil;&euml;&cedil;&Auml;&Oacute;&Atilde;&AElig;&auml;&Euml;&ucirc;&Oacute;&Atilde;&raquo;§&Atilde;&ucirc;');
 end;在重填按钮下的代码是:
procedure TForm3.Image3Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
end;
在返回按钮下的代码是:
procedure TForm3.Image4Click(Sender: TObject);begin
 form3.Hide;
 form1.show;
 end;其中乱码都是字符信息

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      sqlstr:string;
    begin
    if (edit1.Text <> '') and (edit2.Text<>'') then
      begin
         sqlstr:='select * from userid where username = '+''''+trim(edit1.Text)+'''';
         query1.Close;
         query1.SQL.Clear;
         query1.SQL.Add(sqlstr);
         query1.Open;
         if query1.RecordCount > 0 then
            begin
              if query1.FieldByName('password').AsString = trim(edit2.Text) then
                 showmessage('用户名和密码正确')
              else
                 showmessage('密码错误');
            end
         else
            showmessage('数据库中不存在该用户名');
      end;
    end;