我用的是DELPHI 7中的ADO控件现有一台SQL SERVER服务器内存有数据我想在另一台计算机上编一个客户端程序来访问服务器上的数据,怎么办?该台服务器的 IP:192.168.0.1 ,计算机名是windows, 
要访问的SQL SERVER 2000里的数据库是 Lion (我自己建),里面有个表 “库存”应该用哪些些ADO控件呀,如何写初始化连接的代码呀?
请哪为大侠详细写一下!

解决方案 »

  1.   

    只要使用adoconnection控件即可。
    其实网络上使用sql server和单机使用上表面上是一样的,双击adoconnection控件后,会出现连接串向导,按提示一步步去做就可以了
      

  2.   

    1 用TADOConnection建立连接(在ConnectString中设置)
    2 用TADODataSet, 设置ADODataSet.Connection, 设置CommandText为
      SELECT * FROM 库存
      

  3.   

    先谢过先
    不过怪我没说清楚,上述的方法我也会可是到时我开发的客户端要适应不同的服务器比如说我的SQL SERVER的数据库将来倒入另一个新的 SQL SERVER服务器中则IP变为了 192。168。0。5 ,计算机名也变了
    那时在ConnectString 中设置的参数就无效了呀
    所以我想知道的是如何动态的设置那些参数呢
    比如我可以作一个登陆对话框,界面上就可以设置这些参数
    但这些参数要涉及到哪些,如何写,我就不知道了,所以才发贴问问
    希望大家在帮我解答一下!
      

  4.   

    你建一个外部文件,把服务器名和ip地址存进去,程序每次启动后从文件中把服务器名和ip地址读出来,付给ADODataSet.Connectionstring即可。
      

  5.   

    IP与计算机名是有一个就可以的.你的服务端程序一定是和数据库放在一起的是不是?那你只要获得数据库所在的机器名就行了.然后动态设置TADOConnection的ConnectString属性获得本地机器名函数:
    //uses shellapi
    var
        buf:PChar
        len:Cardinal;
    begin
        len:=255;
        getmem(buf,255);
        getComputername(buf,len);
        showmessage(strpas(buf));
        freemem(buf);
    end;
      

  6.   

    TO   xiaoyan21(明月心) 我没有服务端程序,是不是就不能进行网络数据库调用了?我当初的想法只是开发一个 客户端程序就直接调用另一台机子上的数据库数据了
    这样算不算是两层开发呀?能行得通吗?
    新手,望大家赐教!
      

  7.   

    把服务器名,数据库名,登录名,密码几个参数保存到注册表里面去
    程序运行的时候从注册表里面把这几个参数取出来,然后再构造ConnectionString就可以了
    procedure TDlg_Login.Connect_DB();
    var
      ARegistry : TRegistry;     //定义一个注册表类型变量
      ServerName,DBName,UserName,PassWord:string;
    begin
      ARegistry := TRegistry.Create;   //建立一个TRegistry实例
      with ARegistry do
      begin
        RootKey := HKEY_LOCAL_MACHINE;
        if OpenKey ('Software\TYGSP',True) then
        begin
          if ValueExists('ServerName') then ServerName :=ReadString('ServerName')
          else ServerName := 'NTServer';      if  ValueExists('DBName') then DBName := ReadString ('DBName')
          else DBName := 'TYGSPDB';      if ValueExists('UserName') then UserName := ReadString ('UserName')
          else UserName := 'GSP';      if ValueExists('PassWord') then PassWord := ReadString ('PassWord')
          else  PassWord := 'GSP';      if ValueExists('PrintPath') then Form_Main.Print_Path := ReadString('PrintPath')
          else Form_Main.Print_Path := 'd:\public\';
        end    //读取成功
        else begin
          showmessage ('打开注册表失败,请检查注册表');
          exit;
        end;
        CloseKey;
        Free;
      end;  //构造数据库连接
      if DM_Main.AdoGSP.Connected then DM_Main.AdoGSP.Close;  DM_Main.AdoGSP.ConnectionString := 'Provider=SQLOLEDB.1;Password=' + PassWord +
            ';Persist Security Info=True;User ID=' + UserName + ';Initial Catalog=' + DBName
            + ';Data Source=' + ServerName;  DM_Main.AdoGSP.Open;   //连接数据库