ADOCONNNECTION里的参数,能不能通过一个参数界面,用户能通过自己配置,进行连接数据库和用户名还有密码.
行就来,我不行!

解决方案 »

  1.   

    自己做个界面,可以生成连接字符串。数据库和用户名还有密码都是体现在connectstring里的
      

  2.   

    首先数据库(或服务器)必须存在 适用于 SQL SERVER 
    *****************************
       Data.ADOConnection1.Connected := False;
        Data.ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;' +
          'Password=' + Trim(PasswordEdit.Text) +
          ';' +
          'Persist Security Info=False;' +
          'User ID=' + Trim(Edit1.Text) + ';' +
          'Initial Catalog=RS;' +
          'Data Source=' + Trim(Edit2.Text) + ';' ;
          Data.ADOConnection1.Connected := True;
         showmessage('服务器已经配置完毕,可以使用!');
      

  3.   

    uses  AdoConEd;
    {$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      EditConnectionString(ADOConnection1);
    end;
      

  4.   

    学习学习  EditConnectionString挺不错的
      

  5.   

    这是我的程序的部分有效代码,可参考
        case iDestDSNType of
          S_dtAccess:  //========================================
            begin
              sUser:= edtMdbUserid.Text;
              sPassword:= edtMdbPassword.Text;
              sPassword2:= edtMdbDbpassword.Text;
              sDatabase:= edtMdbFilename.Text;          with dm do
              begin
                adoDest.Close;
                adoDest.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;'
                  + 'Data Source=' + sDatabase + ';'
                  + 'Persist Security Info=True;'
                  + 'Jet OLEDB:Create System Database=True;'
                  + 'Jet OLEDB:SFP=True;';            if (sUser<>'') then
                  adoDest.ConnectionString:= adoDest.ConnectionString
                    + 'User ID=' + sUser +';';            if (sPassword<>'') then
                  adoDest.ConnectionString:= adoDest.ConnectionString
                    + 'Password='+ sPassword +';';            if (sPassword2<>'') then
                  adoDest.ConnectionString:= adoDest.ConnectionString
                    + 'Database Password='+ sPassword2 +';';            adoDest.Open;            Result:= true;
              end;
            end;      S_dtExcel:  //========================================
            begin
              sDatabase:= edtExcelFilename.Text;          with dm do
              begin
                adoDest.Close;
                adoDest.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;'
                    + 'Data Source='+ sDatabase +';'
                    + 'Extended Properties=Excel 8.0;Persist Security Info=False';            adoDest.Open;
                Result:= true;
              end;
            end;      S_dtMSSQL:  //========================================
            begin
              sUser:= edtMssqlUser.Text;
              sPassword:= edtMsssqlPassword.Text;
              sDatabase:= cbMssqlDatabase.Text;
              sServer:= cbMssqlServer.Text;          sDestDbDesc:= sDestDbDesc + ' - ' + sDatabase;          with dm do
              begin
                adoDest.Close;
                if (rbSSPI.Checked) then
                  adoDest.ConnectionString:= 'Provider=SQLOLEDB.1;'
                    + 'Integrated Security=SSPI;'
                    + 'Persist Security Info=False;'
                    + 'Initial Catalog=' + sDatabase + ';'
                    + 'Data Source=' + sServer
                else
                  adoDest.ConnectionString:= 'Provider=SQLOLEDB.1;'
                    + 'Password=' + sPassword + ';'
                    + 'Persist Security Info=True;'
                    + 'User ID=' + sUser + ';'
                    + 'Initial Catalog=' + sDatabase + ';'
                    + 'Data Source=' + sServer;
                adoDest.Open;
                Result:= true;
              end;
            end;
      

  6.   

    动态改变connectionstring就可以了 楼上的几位都是可以的
      

  7.   

    其实也就用到数据库和用户名还有密码,放三个输入框就可能了,然后根据输入信息生成connectstring就可以了,或者调用系统的也可以:
    procedure TForm1.Button1Click(Sender:TObject);
    var
      DBConStr:String;
    begin  
      DBConStr:=PromptDataSource(Handle, DBConStr);
      showmessage('连接字符串:'+DBConStr);
    end;
      

  8.   

    用一个文件
    *.udl
    然后ADO里选择User Data Link File
      

  9.   

    忘了!UDL直接双击就可以进行设定了!
      

  10.   

    最简单的用TValueListEditor,Delphi6以上的自带的控件.
      

  11.   

    EditConnectionString(ADOConnection1);

    PromptDataSource(Handle, ADOConnection1.ConnectionString);
    都可以,只是上面那个是后者的前一步而已。
      

  12.   

    叫用户自己输入ConnectionString不就行了,哈哈哈,好有难度:P
      

  13.   

    很感谢 jinjazz(近身剪(N-P攻略)) ( ) 信誉:110 
    到第是两星的
    问题最解决的最直接!
    谢谢了
    高手!