Dephi数据库应用程序如何连接?Dephi数据库应用程序,数据库为SQL SERVER2000,采用ADOConnection连接数据库:
  try
    if ADOswnet.ADOcnndb.Connected then
      ADOswnet.ADOcnndb.connected:=false;
    ADOswnet.ADOCnndb.Properties['Data Source'].Value:=edit1.text;//输入服务器名
    ADOswnet.ADOCnndb.Properties['User ID'].Value:=edit2.text;//数据库帐号
    ADOswnet.ADOCnndb.Properties['Password'].Value:=edit3.text;//数据库密码
    ADOswnet.ADOCnndb.Connected:=true;
  except
    showmessage('数据库连接失败!');
  end;
上面的程序如果是连接到本机数据库则无问题,但无法成功连接到其它机器的数据库,该如何连?多谢了!

解决方案 »

  1.   

    DATABASE NAME=sbgl
    SERVER NAME=gr
    USER NAME=sa
    PASSWORD=
      

  2.   

    function ConnectServer: Boolean;
    var
      ConnectionStr: String;
    begin
      Result := False;  if ADOConnection.Connected then ADOConnection.Connected :=False;  ConnectionStr := 'Provider=SQLOLEDB.1;';
      ConnectionStr := ConnectionStr + 'Persist Security Info=False;';
      ConnectionStr := ConnectionStr + 'User ID=' + edit2.text + ';';   //数据库账号
      ConnectionStr := ConnectionStr + 'Password=' + edit3.text + ';';  //数据库密码
      ConnectionStr := ConnectionStr + 'Initial Catalog=' + edit4.text + ';';  //数据库名称
      ConnectionStr := ConnectionStr + 'Data Source=' + edit1.text + ';';  //服务器名  try
        ADOConnection.ConnectionString := ConnectionStr;
        ADOConnection.Provider := 'SQLOLEDB.1';
        ADOConnection.KeepConnection := True;
        ADOConnection.LoginPrompt := False;
        ADOConnection.CommandTimeOut := 60;
        ADOConnection.ConnectionTimeout := 40;
        ADOConnection.Connected := True;    Result:=True;
      except
        on E: Exception do
           CustomMessageBox('数据库连接出错!请检查服务器名和数据库名是否正确!' + #13#10 + '错误信息:' + E.Message, mtSysError);
      end;
    end;
      

  3.   

    多谢guorui_wh(Re),可我的数据库采用的是ADOConnection连接而不是database连接!
      

  4.   

    focusy(洋洋):
    ADOConnection.ConnectionString我在设计期已经设置好了,且能连接,没有必要再完全重新设置吧?所以在运行期我只设置了服务器名、数据库帐号、数据库密码,应该没有错吧?但为什么就是不行呢?