有谁知道不用ODBC在DELPHI中直接操作DBF的方法,有源程序更好

解决方案 »

  1.   

    设置TABLE的DATABASE为你的DBF文件所在的目录就可以了。
      

  2.   

    建立数据源以后直接调用也就OK了!
    当然应该也可以使用ADO
    ADO更好一些!
      

  3.   

    我是这样写的
     table1.DatabaseName :='f:\GLCLTZ.DBF';
     table1.OpenDatabase ;
    但RUN 的时候总弹出数据库引擎错误
      

  4.   

    应该这样:
    table1.DatabaseName :='f:\';
     table1.OpenDatabase ;To:newnewworm(新新虫)DBF使用ADO有什么好处?我看没有好处吧!
      

  5.   

    但是我这样写:
     query1.DatabaseName := 'f:\';
     query1.OpenDatabase;
     query1.SQL.Clear;
     query1.SQL.Add('select * from glcltz');
     query1.ExecSQL;
    居然还是出错
      

  6.   

    将这句:
    query1.ExecSQL;
    改为
    query1.Open
      

  7.   

    ExecSQL是运行Insert/Update/Delete语句的,没有数据集返回。Open才有数据集返回。
      

  8.   

    应该不用这一句的:
    query1.OpenDatabase;
      

  9.   

    众位说的,我都试过了,但是总弹出找不到表的信息。
    但是f:\下的确有一个glcltz.dbf,而且我的理解该文件名就是表名
      

  10.   

    试试看:
    table1.TableName :='f:\GLCLTZ.DBF';
     table1.active:=true;
    //好像如果自由表加了索引就不能成功!
      

  11.   

    特别要注意的就是不能设置DatabaseName属性!
      

  12.   

    可能GLCLTZ.DBF不是一个DBF文件。试试是否可以用database desktop打开。这段代码应该可以的:
    query1.Close;
    query1.DatabaseName := 'f:\';
     query1.SQL.Clear;
     query1.SQL.Add('select * from glcltz');
     query1.Open;