DBF格式的数据库是老的数据库,用foxpro可以打开,社会上那些牛逼的软件也可以打开。当然微软的一些软件也可以打开。
但是如果我们用C#开发的话,需要先安装一个VFPOLEDBSetup.msi,这个微软官网上就有下的,网上一搜好多。
可能需要引入两个库
using System.Data;
using System.Data.OleDb;
然后开始码代码;
最简单的代码

public static DataSet ReadSJSHQ(){try{string strConn = @"Provider=vfpoledb;Data Source=<pdf文件地址>   ;Collating Sequence=machine;";using (OleDbConnection myConnection = new OleDbConnection(strConn)){OleDbDataAdapter adpt = new OleDbDataAdapter("select * from <pdf文件名>.dbf", myConnection);DataSet mySet = new DataSet();adpt.Fill(mySet);myConnection.Close();return mySet;}}catch (Exception ex){MessageBox.Show(ex.ToString());return null;}}

这样文件就会读到myset里面。
但是会经常报这样一种错误:程序无法确定Decimal值。例如,该行刚刚创建,未提供Decimal列的默认值,并且使用者尚未设置新的Decimal值。
这是因为那就是有的列是decimal或者float,但是有没有值,所以需要特殊处理,至于怎么处理,看情况而定,像我这个直接不要那一列。

public static DataSet ReadDBF(){DataSet mySet0 = new DataSet();string strConn = @"Provider=vfpoledb;Data Source=dbf文件地址;Collating Sequence=machine;";using (OleDbConnection myConnection = new OleDbConnection(strConn)){myConnection.Open();OleDbCommand cmd = new OleDbCommand();cmd.Connection = myConnection;cmd.CommandText = "SET DELETED OFF";//去掉删除标记,拿到所有记录 cmd.CommandType = CommandType.Text;cmd.ExecuteNonQuery();//单独读取第一行 ,,如果报错提供程序无法确定Decimal值。例如,该行刚刚创建,未提供Decimal列的默认值,并且使用者尚未设置新的Decimal值.”//那就是有的列是decimal或者float,但是有没有值,所以需要OleDbDataAdapter adpt0 = new OleDbDataAdapter("SELECT name as name,category as category,subctgry as subctgry from dbf文件名", myConnection);//只有这几个字段有值               adpt0.Fill(mySet0);myConnection.Close();return null;}}

C# 数据库之 DBF相关推荐

  1. Delphi下物理删除dBase数据库的*.dbf文件

    { ************************************************************ } {                                   ...

  2. oracle dbf 超大,oracle 数据库users01.dbf文件过大 转移方法

    如果出现 linux 拒绝错误,可以把目录权限 该为777 由于在安装的时候将Oracle安装到了C盘,表空间也创建到了C盘(当时没有在意),等项目进行到了中期,发现C盘的空间不够用了.此时,一个较好 ...

  3. oracle数据库文件dbf复制#ocp试验#

    1,创建表空间 TBS SYS@sen>create tablespace TBS datafile 'D:\tbs.dbf' size 200M; 2,在上面的表空间创建表,从插入几条数据 注 ...

  4. C# 连接Visual FoxPro的数据库文件DBF

    说实话,鬼才愿意搞这个东西,那么古老的东西,可是...哎..不说了..讲解下怎么连吧.. 首先需要注意SYSTEM下面的vfpodbc.dll这个的东西,我当时这个文件只有20K,害我怎么测试也行,调 ...

  5. python oledb dbf_在Python中打开和搜索dBase III(DBF)数据库

    我正在寻找在python中开发一个需要搜索dBase III数据库文件(DBF)的应用程序.我一直在寻找一段时间,但我找不到任何关于如何做到这一点的好文档.我尝试过使用DBFpy,但找不到有关如何索引 ...

  6. 如何通过.dbf文件还原数据库

    一切从实际需求出发!!! 需求: 我方(乙方)需要一套完善的测试环境,基于甲方提供的his测试库来搭建自己的环境 现有资源: 一台操作系统是Windows Server2008R2_enterpris ...

  7. 误删除了Oracle的dbf文件后的解决方法

    问题描述: 误删除Oracle数据库的dbf文件,在启动和关闭数据库是会提示错误. startup启动数据库时提示: ORA-01157:无法标识/锁定数据文件 ORA-01110:数据文件:'... ...

  8. oracle 11g从DBF文件恢复数据

    oracle 11g从DBF文件恢复数据 oracle 11g从DBF文件恢复数据 sqlplus登录数据库 备份控制文件 停止数据库 备份新数据库的DBF(实例名:XE) 找到刚刚备份的trc文件 ...

  9. mysql查询表可编辑器_数据库查看编辑工具(Exportizer)

    Exportizer是一款非常好用的数据库查看编辑工具,软件主要功能是查看.编辑.过滤.复制.导出数据库(DB, DBF, TXT, CSV, ASC)内容等:也可以将数据库通过剪贴板复制到XLS, ...

最新文章

  1. 【机器学习基础】线性回归和梯度下降的初学者教程
  2. 报错org.apache.htrace htrace-core4 4.1.0 incubating htrace-core4.jar 报错spark
  3. NLP基础 : HMM 隐马尔可夫模型
  4. Spark(idea)操作mysql进行查询和插入 (代码+理解)
  5. 无线网卡dns服务器没有响应,无线网卡上不去网怎么设置dns
  6. Python的Request请求跳过认证及禁用警告
  7. mysql 索引修复_mysql数据库索引损坏及修复经验分享
  8. Android 下拉刷新组件SwipeToLoadLayout源码解析
  9. 嵌入式开发Verilog教程(三)——Verilog HDL基本语法汇总(上)
  10. (转)前端文摘:深入解析浏览器的幕后工作原理
  11. 「计算机控制技术」零阶保持器和一阶保持器的频率特性分析
  12. 基于百度的UidGenerator改造的全局唯一id生成器
  13. 问题解决:系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的about_Execution_Policies
  14. 日志打印利器logback的使用和配置
  15. 终于搞定美团app人气榜提取的数据分类工作
  16. 计算机无法连接iphone,iphone6连接电脑没反应怎么回事?iphone6连接电脑没反应的解决方法...
  17. 匿名函数的disconnect方法 QTimer如何disconnect匿名函数
  18. 信道规划最佳实践,打造更好的Wi-Fi
  19. 区块链量化投资系列课程(4) - 动态平衡策略
  20. QT_媒体播放器播放Mp3QMediaPlayer

热门文章

  1. android+背景图片不显示,背景图片显示问题 图片显示错误 android开发
  2. linux进程和计划任务管理!
  3. 【赵强老师】Oracle RMAN脚本基础
  4. 七夜在线音乐台开发 第一弹 (原创)
  5. 计算机乘法怎么操作函数,计算机word乘积函数
  6. 云计算的发展趋势/云计算和其他领域的关系(云大物智)
  7. 【UGUI】二、Text(TMP) 文本
  8. 2019个人Java实习生面试记录
  9. oracle 10.3.5,AIX5,3 oracle 10201升10204 rac补丁 误操作记录
  10. 叶帆哥哥的第一个wince驱动——FakeGPS 驱动