function TDataModule2.DoConnect: Boolean;
var
  strSource :string;
  UserID :string;
  Password : string;
begin
  strSource := 'Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=dorm;Data Source=Robin';
  if Login.Form3.ShowModal = 1 then
  begin
    UserID := Login.Form3.UserName.Text ;
    Password := Login.Form3.Password.Text ;
    Database.ConnectionString := strSource + ';User ID=' + UserID + ';Password=' + Password;
    Form2.Edit1.Text := Database.ConnectionString;
    Form2.ShowModal;
//    ShowMessage(Database.ConnectionString);
    Database.Connected := True;
  end

解决方案 »

  1.   

    UserID := Login.Form3.UserName.Text ;
        Password := Login.Form3.Password.Text ;
    =>
    UserID := trim(Login.Form3.UserName.Text) ;
        Password := trim(Login.Form3.Password.Text) ;
      

  2.   

    我修改了一下ConnectionString为某个文件"a.udl",如果设置LoginPrompt为True,再设置Connected为true时ADOConnection可以打开,这说明a.udl没有问题.
    现在我在主窗口添加了如下代码
    unit Main;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, DB, ADODB;type
      TForm1 = class(TForm)
        ADOConnection1: TADOConnection;
        DataSource1: TDataSource;
        ADOTable1: TADOTable;
        DBNavigator1: TDBNavigator;
        DBGrid1: TDBGrid;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementationuses LoginU;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    var
      UserID :string;
      Password :string;
    begin
      if Login.ShowModal = 1 then
      begin
        UserID := trim(Login.ComboBox1.Text);
        Password := trim(Login.Edit1.Text);
        AdoConnection1.Open(UserID, Password);
    //    AdoConnection1.Connected := True;
      end
    end;end.程序会不停的弹出登录对话框
      

  3.   

    那位ggjj可否email一份可以执行的通过.udl文件和自己的登录对话框来登录数据库的代码给在下
    [email protected]
    谢谢