我想动态书写ADOConnectstring我用了两个配职文件connect.udl(*.udl固定)。我
在pemote data module的create事件中写了这样的语句:adoConnection.Connected:=False;
ADOConnection.ConnectionString:=connect.udl';
adoConnection.Connected:=True;
能够这样写吗????要是错了那又怎么写呢!》
还有要是用文件的那我又怎么写呢!》
文件是:
[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=houseinfo;Initial Catalog=houseinfo;Data Source=DEV-SERVER

解决方案 »

  1.   

    ADOConnection.ConnectionString:=connect.udl';
    -----------------
    你应该把文件中的内容读取出来
    然后赋给ConnectionString
    这个变量后跟的是文件名啊
    (也许我没懂你的意思)
      

  2.   

    给你个例子,我刚写的程序里面的:procedure TDM.DataModuleCreate(Sender: TObject);
    var
      Ini:TInifile;
      State:Boolean;
      CString,Sername,Dataname,Username,PW:AnsiString;
    begin
      Ini:=TInifile.Create(ChangeFileExt(Application.ExeName,'.ini'));
      State:=Ini.ReadBool('Database','Connection',False);
      if not State then
      try
        Config_F:=TConfig_F.Create(Application);
        Config_F.ShowModal;
      except
        on e:Exception do
        Application.ShowException(E);
      End;
      Sername:=Ini.ReadString('Database','Initial Catalog','');
      DataName:=Ini.ReadString('Database','Data Source','');
      Username:=Ini.ReadString('Database','User ID','');
      PW:=Ini.ReadString('Database','Password','');
      CString:='Provider=SQLOLEDB.1;Password='+PW+';Persist Security Info=True;User ID='+Username+';Initial Catalog='+SerName+';Data Source='+Dataname+';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=sf;Use Encryption for Data=False;Tag with column collation when possible=False';
      DM.CX_Connection.Connected:=False;
      DM.CX_Connection.connectionString:=CString;
      Try
        DM.CX_Connection.Connected:=True;
      except
        Application.MessageBox('与数据库服务器连接未成功,请重新配置','错误',MB_OK);
      end;
      State:=DM.CX_Connection.Connected;
      Ini.WriteBool('Database','Connection',State);
      Ini.Free;
    end;end.