我的adoconnection控件的connectionstring属性在自己电脑上如下:
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=zhouzhou;Data Source=MICROSOF-E6C37EMICROSOF-E6C37E 是服务器名,这个字符在本机上可以用,可到其他机上服务器名就
改了,而怎样自动获取,使我的程序能在其他机上附加上数据库,就可以运行了.

解决方案 »

  1.   

    function GetConnectionString(AuserID,APassword,ADB,AIP:string):string;
    var
      FConnectionStr:string;
    begin
      FConnectionStr := 'SQLOLEDB.1;Persist Security Info=False;User ID=' + AUserID
                       + ';Password ='+ APassword
                       + ';Initial Catalog=' + ADB
                       + ';Data Source= ' + AIP;
      Result := FConnectionStr;
    end;
      

  2.   

    这样不是要给这四个变量AuserID,APassword,ADB,AIP赋值吗?我不想这么麻烦,AuserID,APassword,ADB这三个是固定的,想直接获取服务器名加上去就行
    了,这样行吗?
      

  3.   

    看楼主的描述, MICROSOF-E6C37E应该是指运行程序的本机, 如果是这样的话, 改成:
    Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=zhouzhou;Data Source=Localhost
      

  4.   

    如果不考虑数据的安全性 ,何不使用“*.UDL”来连接数据库。这样不论怎么移植数据库,都非常简单。