你可以做个ini文件,在ini文件中写个connstr连接字符串,在连接的时候从ini文件中读取出来你的connstr就可以了;这样你到客户安装,只需要改变connstr就可

解决方案 »

  1.   

    把user id这些东西写在INI中,然后读出来组合一个字符串,赋给connectstring
      

  2.   

    Delphi中有操作INI文件的类,用一下就是。到帮助文档查一下。
      

  3.   

    function ReadIni(AppName, KeyName, Default: string): string;
    var
      FileName: string;
      AN, KN, Df, Re, FA: array[0..1024] of Char;
    begin
      FileName := ExtractFilePath(GetModulePath) + ininame;
      StrPLCopy(fa, fileName, length(fileName));
      strPLCopy(AN, AppName, length(AppName));
      strPLCOPY(KN, KeyName, length(KeyName));
      strPLCopy(DF, Default, length(Default));
      GetPrivateProfileString(AN, KN, Df, Re, 2048, FA);//看看这个api的帮助
      result := strPas(Re);
    end;procedure WriteIni(AppName, KeyName, Val: string);
    var
      FileName: string;
      AN, KN, Va, FA: array[0..1024] of Char;
    begin
      FileName := ExtractFilePath(GetModulePath) + ininame;
      StrPLCopy(fa, FileName, length(fileName));
      strPLCopy(AN, AppName, length(AppName));
      strPLCOPY(KN, KeyName, length(KeyName));
      strPLCopy(Va, Val, length(Val));
      WritePrivateProfileString(AN, KN, Va, FA););//看看这个api的帮助end;
      

  4.   

    const sConnection: WideString =
            'Provider=SQLOLEDB.1;Persist Security Info=False;' +
            'User ID=sa;Initial Catalog=%s;Data Source=%s;' +
            'Use Procedure for Prepare=1;Auto Translate=True;' +
            'Packet Size=4096;Workstation ID=%s;Use Encryption for Data=False;' +
            'Tag with column collation when possible=False';uses IniFiles;procedure TForm1.FormCreate(Sender: TObject);
    var
      yIni: TIniFile;
      yPath: PChar;
      S1, S2, S3: string;
    begin
      yPath := PChar(ExtractFilePath(Application.ExeName) + 'xx.ini');
      yIni := TIniFile.Create(yPath);
      try
        S1 := yIni.ReadString('From', 'TableName', '');//数据库
        S2 := yIni.ReadString('From', 'AliasName', '');//SQL服务器
        S3 := yIni.ReadString('From', 'WorkStation', '');//读取客户机名称
      finally
        yIni.Free;
      end;
      SetDefaultConnection(S1, S2, S3);//try..except
    end;procedure TForm1.SetDefaultConnection(TableName, AliasName, WorkStation: string);
    begin
      ADOC.ConnectionString := Format(DefaultConnection, [TableName, AliasName, WorkStation]);
      //ADOC.GetTableNames(cbbDisplayTables.Items, False);
      //ADOQ1.Prepared := True;
    end;
      

  5.   

    ADOC.ConnectionString := Format(sConnection, [TableName, AliasName, WorkStation]);ini文件格式:[From]
    TableName=xx
    AliasName=TRC
    WorkStation=TRC