很急 很急 如何用delphi7.0中打开dbf文件 并在dbgrid中显示
****dbf文件是可选的****

解决方案 »

  1.   

    使用odbc不就可以了吗。用ADo联接。
      

  2.   

    odbc不可以实时打开不同的数据库 而且不可能让客户配dsn吧
      

  3.   

    用ADO可以实时连接,就象在DELPHI中设计期间实时打开数据库一样
    先uses AdoConEd;
    然后调用
    EditConnectionString(AdoConnection);
      

  4.   

    用ADO连接,这方面你搜一下,很多讨论的
      

  5.   

    我用了ADO奇怪的是 用ACCESS是没有任何问题的 但一转到DBF就不可以了 
    我写的程序如下 
    AConnection:=CreateOleObject('ADODB.Connection');
    AConnection.Open('Driver={Microsoft dBase Driver (*.dbf)};DBQ=c:\test');
    ARecordSet:= CreateOleObject('ADODB.RecordSet');
    ARecordSet.Open('Select * from test.dbf',AConnection,2,2,0001); 
    //我c盘下有一个test目录 里面有一个test.dbf 老是报外部数据库意外错误
    那位大侠帮忙看一下 跪谢 明天就要叫差了 急急急急急
      

  6.   

    用 BDE 很方便呀!
    他的TSession 可以方便的实现这功能
      

  7.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      S : string;
    begin
      try
        if OpenDialog1.Execute then
        begin
          Query1.Close;
          S := ExtractFilePath(OpenDialog1.FileName);
          S := Copy(S, 1, Length(S) -1);
          Query1.DatabaseName := S;
          S := ExtractFileName(OpenDialog1.FileName);
          S := Copy(S, 1, Pos('.dbf', LowerCase(S)) -1);
          Query1.SQL.Text := 'Select * From ' + S;
          Query1.Open;
        end;
      except
      end;
    end;
      

  8.   

    现在问题不是选择dbf 而是根本就打不开dbf呀(不要建什么dsn,那样只能打开一个)
    AConnection:=CreateOleObject('ADODB.Connection');
    AConnection.Open('Driver={Microsoft dBase Driver (*.dbf)};DBQ=c:\test');
    ARecordSet:= CreateOleObject('ADODB.RecordSet');
    ARecordSet.Open('Select * from test.dbf',AConnection,2,2,0001);