怎样新建、读取、写入、删除DBASE3数据库?
已经搞了一个礼拜了,请高手帮忙写一下。

解决方案 »

  1.   

    首先要连接DBF,用JET引擎 OR VFP OLEDB均可
    jet:
    oConnection = CreateObject("adodb.connection")   &&建立连接对象
    With oConnection
         .ConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\temp\;Extended Properties=dbase 5.0;Persist Security Info=False'
       .Open
    ENDWITHvfp oledb:
    将ConnectionString
    更换为:
    Provider=VFPOLEDB.1;Data Source=d:\zz;Password="";Collating Sequence=MACHINEjet:
    新建 create table [dbase 5.0;database=d:\zz].tt(bh numeric ,xm varchar ) 
    读取:select * from [dbase 5.0;database=d:\zz].tt where 
    写入:update [dbase 5.0;database=d:\zz].tt set ....
    删除:drop table [dbase 5.0;database=d:\zz].ttvfp:
    create table tt (bh n(6),xm c(6))
    select * from tt where ...
    update tt set ... where ....
    drop table tt具体程序实现请到相应的语言版块去问吧,SQL语句就是上述
      

  2.   

    在旧的VB系统中可以操作DBASE3,但现在改用.net重新开发,就不知道如何搞了
      

  3.   

    先用JET引擎OR VFP OLEDB连接DBF,才能对DBF进行操作,你如要知道具体程序实现,
    请到相应的语言版块去问吧
      

  4.   

    在.net环境下首先要安装odbc_net.msi,然后在References中添加Microsoft.Data.Odbcusing Microsoft.Data.Odbc;
    using System.Data;//连接字符串,引用foxpro驱动,dBase III目录为C盘
    string connString = @"Driver={Microsoft dBase Driver (*.dbf)};collatingsequence=ASCII;dbq=C:\;deleted=0;driverid=21;fil=dBase III;maxbuffersize=2048;maxscanrows=8;pagetimeout=5;safetransactions=0;statistics=0;threads=3;usercommitsync=Yes";
    OdbcConnection conn = new OdbcConnection(connString);
    OdbcCommand myCommand = new OdbcCommand();
    conn.Open();//删除数据文件
    string cmd = "drop table GATHER";
    myCommand.CommandText = cmd;
    myCommand.Connection = conn;
    myCommand.ExecuteNonQuery();//新建数据文件
    string cmd1 = "create table GATHER(LOTNO char(15),ISOK char(1),MEG char(2))";
    myCommand.CommandText = cmd1;
    myCommand.Connection = conn;
    myCommand.ExecuteNonQuery();//读取
    OdbcDataAdapter DataAdapter = new OdbcDataAdapter("select * from GATHER", conn);
    DataSet dsDataSet1 = new DataSet();
    DataAdapter.Fill(dsDataSet1, "GATHER");
    DataTable datatable = dsDataSet1.Tables[0];//写入
    string sql = "insert into GATHER(LOTNO ,ISOK ,MEG) values('001','Y','003')";
    myCommand.CommandText = sql;
    myCommand.Connection = conn;
    myCommand.ExecuteNonQuery();