供参考:ADO动态连接 procedure TForm2.Button1Click(Sender: TObject); begin tryform1:= Tform1.Create(self) ; form1.ADOConnection1.Connected :=false; form1.ADOConnection1.ConnectionString :='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=' + Username.text + ';Password='+ psw.text + '; Initial Catalog= ' + sjk.Text + ' ;Data Source='+ fwq.Text + ';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=' + fwq.Text + ';Use Encryption for Data=False;Tag with column collation when possible=False'; form1.ADOConnection1.Open ; if form1.ADOConnection1.Connected then begin form1.Show; self.Visible :=false; end else showmessage(' 数据库连接错误! '); exceptshowmessage(' 数据库连接错误! '); end; end;
配置一下ODBC数据源.指定源名和服务器名.
添加ADOTable1控件到窗体,找到此控件的ConnectionString属性,单击弹出设置框,选择"Build",提供者选择"Microsoft OLE DB Provider for SQL server",单击"下一步",然后依次设置"服务器名称"、"登录服务器的信息"、"在服务器上选择数据库",然后单击"测试连接",连通即可。然后设置ADOTable1的数据表为你建立的保存用户名的表,将Active设置为true;在窗体添加如下控件:两个Tlable控件,分别指定caption为“用户名:”、“密码”;对应添加两个TEdit控件,添加两个TButton控件,然后“登录”按钮的代码为: procedure TForm_login.BitBtn1Click(Sender: TObject); var count:Integer; begin count:=count+1; if not ADOTable1.Locate('用户字段',edit1.Text, []) then MessageDlg('该用户不存在!', mtError, [mbOK], 0) else begin if edit2.text=ADOTable1.FieldByName('密码字段').AsString then begin form_login.Hide;//登录窗体隐藏 form_main.Show;//主窗体出现 end else begin if(count=3) then close; showmessage('错误的密码!你还有'+inttostr(3-count)+'次机会'); PassWordText.Text:=''; end; end; end;
procedure TForm2.Button1Click(Sender: TObject);
begin
tryform1:= Tform1.Create(self) ;
form1.ADOConnection1.Connected :=false;
form1.ADOConnection1.ConnectionString :='Provider=SQLOLEDB.1;Persist Security Info=False;User ID='
+ Username.text + ';Password='+ psw.text + '; Initial Catalog= '
+ sjk.Text + ' ;Data Source='+ fwq.Text +
';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID='
+ fwq.Text
+ ';Use Encryption for Data=False;Tag with column collation when possible=False';
form1.ADOConnection1.Open ;
if form1.ADOConnection1.Connected then
begin
form1.Show;
self.Visible :=false;
end
else
showmessage(' 数据库连接错误! ');
exceptshowmessage(' 数据库连接错误! ');
end;
end;
procedure TForm_login.BitBtn1Click(Sender: TObject);
var
count:Integer;
begin
count:=count+1;
if not ADOTable1.Locate('用户字段',edit1.Text, []) then
MessageDlg('该用户不存在!', mtError, [mbOK], 0)
else
begin
if edit2.text=ADOTable1.FieldByName('密码字段').AsString then
begin
form_login.Hide;//登录窗体隐藏
form_main.Show;//主窗体出现
end
else
begin
if(count=3) then close;
showmessage('错误的密码!你还有'+inttostr(3-count)+'次机会');
PassWordText.Text:='';
end;
end;
end;