如何用delphi做登陆界面 用户名和口令要链接到数据库的那种

 我来答
血魇XJM
2011-05-13 · TA获得超过543个赞
知道答主
回答量:164
采纳率:97%
帮助的人:49.4万
展开全部

以下内容仅供参考

步骤:

    1.新建一个窗体,在窗体中放置上图所示组建.

    2.连接数据库.选中ADOQuery1组建,点击左侧ConnectionString属性右侧的省略号,在弹出对话框中点击Build,再在弹出框中选择Microsoft OLE DB Provider for SQL Sever,点击"下一步",在新弹出的窗口中选择"使用Windows NT 继承安全设置"(当然,如果你的SQL安装时有用户名和密码则选择下面那个),然后在服务器上数据库下拉框中选择你要连接的数据库,最后一路确定即可.其他选项暂时可不用管它.

   3.写代码.双击"登陆",写如下代码

   procedure TForm1.BitBtn1Click(Sender: TObject);

begin

  try

    with adoquery1 do

    begin

      close;

      sql.clear;

      sql.add('select * from user_master where 用户名=:a and 密码=:b and 权限=:c');

      parameters.ParamByName('a').Value:=trim(combobox1.Text);

      parameters.ParamByName('b').Value:=trim(edit1.Text);

      if combobox1.Text ='' then

        begin

          application.MessageBox('请输入用户名','提示信息',64);

          combobox1.SetFocus;

          exit;

        end;

      if edit1.Text ='' then

        begin

          application.MessageBox('请输入密码','提示信息',64);

          edit1.SetFocus;

          exit;

        end;

      if radiobutton1.Checked=true then

        begin

          Quanxian:='1';

        end;

      if radiobutton2.Checked=true then

        begin

          Quanxian:='0';

        end;

      parameters.ParamByName('c').Value:=trim(quanxian);

      open;

      end;

      if adoquery1.RecordCount<>0 then

        begin

          Username:=combobox1.Text;

          Password:=edit1.Text;

          application.MessageBox('登陆成功','提示信息',64);

          form2.show;

          self.Hide;

        end

      else

        application.MessageBox('输入的用户名或密码错误','提示信息',64);

  except

    application.MessageBox('登陆失败','提示信息',64);

  end;

end;

 

    4.为了让用户在第一次使用管理系统时数据库文件可自动附加到SQL服务器中,可双击窗体空白部分,加入一下代码:

    procedure TForm1.FormCreate(Sender: TObject);

var

   ADOCommand:TADOCommand;

   s,DataPath : string;

begin

   adoConnection1:=TADOConnection.Create(nil);

   adoConnection1.ConnectionString:='Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=library';

   adoConnection1.LoginPrompt:=false;

   try

     adoConnection1.Connected:=true;

   except

     ADOCommand:=TADOCommand.Create(nil);

     ADOCommand.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False';

     DataPath:=ExtractFilePath(Application.ExeName) ;

     s:='EXEC sp_attach_db @dbname = N'+char(39)+'library'+char(39)+','+

        '@filename1 = N'+char(39)+DataPath+'library_Data.MDF'+char(39)+

          ','+'@filename2 = N'+char(39)+DataPath+'library_Log.LDF'+char(39);

     ADOCommand.CommandText := s;

     ADOCommand.Execute();

   end;

end;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式