请问如何在.net中操作DBASE3数据库 怎样新建、读取、写入、删除DBASE3数据库?已经搞了一个礼拜了,请高手帮忙写一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先要连接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' .OpenENDWITHvfp 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语句就是上述 在旧的VB系统中可以操作DBASE3,但现在改用.net重新开发,就不知道如何搞了 先用JET引擎OR VFP OLEDB连接DBF,才能对DBF进行操作,你如要知道具体程序实现,请到相应的语言版块去问吧 在.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(); 关于winform中无父子关系的窗体传值触发问题 高手赐教:DataGridView控件自动伸展 请教高手: 熟悉C#操作EXCEL的朋友,进来帮帮忙, 关于EXCEL操作的简单问题. .net经典书比较 一值传递多页的问题。 有无错误,大家帮忙看看!! 泉州企业管理软件开发QQ群:9998333,欢迎在泉州地区工作的光临 在Remoting中的安全性如何实现? 初来乍到,交个朋友吧。。。 C#如何将字符串传递给JS 关于WebBrowser的问题 100分 结贴迅速 小灵通告警信息接收端,VB->C#
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语句就是上述
请到相应的语言版块去问吧
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();