先看段代码:

string ole_connstring = @"Provider=VFPOLEDB.1;Data Source=D:\;";
System.Data.OleDb.OleDbConnection ole_conn = new System.Data.OleDb.OleDbConnection(ole_connstring);
try
{
       ole_conn.Open();
       System.Data.OleDb.OleDbCommand cmd1 = new System.Data.OleDb.OleDbCommand
                ("Create Table TestTable (Field1 int, Field2 char(10),Field float(10,2))", 
                ole_conn); 
       System.Data.OleDb.OleDbCommand cmd2 = new System.Data.OleDb.OleDbCommand
                ("Insert Into TestTable values (1,'Hello3',520.20)", ole_conn);
       System.Data.OleDb.OleDbCommand cmd3 = new System.Data.OleDb.OleDbCommand
                ("Insert Into TestTable values (2,'Hello4',18076.60)", ole_conn);
       cmd1.ExecuteNonQuery();
       cmd2.ExecuteNonQuery();
       cmd3.ExecuteNonQuery();
}
catch (Exception ex)
{
       MessageBox.Show(ex.Message);
}
finally
{
       ole_conn.Close();
}
       C#通过OLE DB访问Foxpro数据库,需要Foxpro的OLE DB驱动的支持,需要Foxpro的运行库中的vfpoledb.dll文件。
       需要说明的是,创建的DBF文件不需要说明文件的名称,DBF文件的名称就是所创建的第一个表的名称。

Foxpro的数据类型:
1    字符型
       字符型(Character)数据是不具计算能力的文字数据类型,用字母C表示。字符型数据包括中文字符、英文字符、数字字符和其他ASCII字符,其长度(即字符个数)范围是0~254个字符。

2    数值型
       数值型数据是表示数量、可以进行数值运算的数据类型。数值型数据由数字、小数点、正负号和表示乘幂的字母E组成,数值精度达16位。在Visual FoxPro系统中,按存储、表示形式与取值范围不同,数值型数据又分为四种不同类型。
       ①.数值型
       数值型(Numeric)数据由数字、小数点、正负号和字母E组成,用字母N表示。数值型数据的取值范围是: -0.9999999999E+19~0.9999999999E+20,包括正负号、小数点和字母E在内,其长度(数据位数)最大20位。通常用于表示实数。如23,-103.45,1.3E-5(即1.3×10-5)等;
       ②.浮点型
       浮点型(Float)数据是数值型数据的一种,用字母F表示。它与数值型数据完全等价,只是在存储形式上采用浮点格式,主要是为了得到较高的计算精度。
       ③.双精度型
       双精度型(Double)数据是具有更高精度的一种数值型数据,用字母B表示。它采用固定长度浮点格式存储,占用8个字节,其取值范围是:+/-4.94065645841247E-324 ~ +/-8.9884656743115E307。
      ④.整型
       整型(Integer)数据是不包含小数部分的数值型数据,用字母I表示。整型数据只用来表示整数,以二进制形式存储,占用4个字节。其取值范围是:-21474836~21474836。
3    日期型
        日期型(Date)数据是表示日期的数据,用字母D表示。日期的默认格式是{mm/dd/yyyy},其中mm表示月份,dd表示日期,yyyy表示年度,固定长度8位。如{09/16/2002}表示2002年9月16日这一日期数据。
4    日期时间型
        日期时间型(Date Times)数据是表示日期和时间的数据,用字母T表示。日期时间的默认格式是{mm/dd/yyyy hh:mm:ss},其中mm、dd、yyyy的意义与日期型相同,而hh表示小时,mm表示分钟,ss表示秒数。日期时间型数据也是采用固定长度8位,取值范围是:日期为01/01/0001~12/31/9999,时间为00:00:00~23:59:59。如{10/01/2002 10:30:30}表示2002年10月1日10时30分30秒这一日期时间数据。

5    逻辑型
       逻辑型(Logic)数据是描述客观事物真假的数据类型,表示逻辑判断的结果,用字母L表示。逻辑型数据只有真(.t.或.y.)和假(.f.或.n.)两种,固定长度1位。为区别其他数据类型,一般需在表示逻辑值的字母t、y、f、n的前后加圆点符"."。
6    备注型
       备注型(Memo)数据是表示、存放较多字符的数据类型。可以把它看成是字符型数据的特殊形式,用字母M表示。
       备注型数据没有数据长度限制,仅受限于磁盘空间。它只用于表中字段类型的定义,字段长度固定为10位,实际数据存放在与表文件同名的备注文件(.FPT)中,长度根据数据的内容而定。

7    通用型
        通用型(General)数据是存储OLE(对象链接嵌入)对象的数据类型,用字母G表示。通用型数据中的OLE对象可以是电子表格、文档、图形图片等。它只用于表中字段类型的定义。通用型数据字段长度固定为4位,实际数据长度仅受限于磁盘空间。
        OLE对象的实际内容、类型和数据量则取决于链接或嵌入OLE对象的操作方式。如果采用链接OLE对象的方式,则表中只包含对OLE对象的引用说明,以及对创建该OLE对象的应用程序的引用说明;如果采用嵌入OLE对象方式,则表中除包含对创建该OLE对象的应用程序的引用说明,还包含OLE对象中的实际数据。
8    货币型 
       货币型(Currency)数据是为存储美元金额而使用的一种称为货币(Currency)的数据类型,其取值范围是:-922337203685477.5808 ~ 922337203685477.5807,默认保留4位小数(多则四舍五入),占据8字节存储空间。货币型数据用字母Y表示。
9     二进制字符型和二进制备注型
       这两类数据是以二进制格式存储的数据类型,只能用在表中字段数据的定义。所存储的数据不受代码页改变的影响。
   数据类型的应用范围
       以上数据类型均可应用于表中字段数据类型的定义,但其中双精度型、浮点型、通用型、整型、备注型、二进制字符型和二进制备注型只能应用于字段,其余则可以用于变量、数组和字段。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/whchen/archive/2008/12/15/3520324.aspx

C#创建DBF自由库 [转]的更多相关文章

  1. soliworks三维机柜布局(一)创建设备型号库

    以某直升机电气系统为例:为电路中的各个设备创建设备型号库是进行三维线束设计的前提之一(如下图所示:窗口中箭头所指的3D部件一定要为每个设备都添加) 设备只有添加了3d模型,在solidworks进行机 ...

  2. [Oracle] Data Guard 系列(5) - 创建逻辑备库

    在创建逻辑备库之前,必须得先创建物理备库,关于如何创建物理备库,请参考<Data Guard 系列(4) - 在不停主库的情况下创建物理备库>. 1. 在物理备库上停止日志应用服务 SYS ...

  3. 创建Git版本库

    什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...

  4. cocoapods 创建公开公共库

    1 :首先安装了 pod,sourceTree(下载地址https://pan.baidu.com/s/1c1Wc5ck), 并在开元中国申请的 git 账号 2 :打开终端: cd 文件目录地址(任 ...

  5. iOS 在工程内部创建一个静态库target

    当你在开发项目的时候需要把公用的东西打包出来,其他项目方便使用的时候,打包成静态库是你的最优选择,在工程内部开发的时候新建一个target进行静态库的开发可以使你的开发调试更加方便而不是单独新建一个工 ...

  6. SharePoint Online 创建文档库

    前言 本文介绍如何在Office 365中创建文档库,以及文档库的一些基本设置. 正文 通过登录地址登录到Office 365的SharePoint Online站点中,我们可以在右上角的设置菜单中, ...

  7. 跟我学SharePoint 2013视频培训课程——怎样创建文档库并上传文档(8)

    课程简介 第8天,怎样在SharePoint 2013怎样创建文档库并上传文档. 视频 SharePoint 2013 交流群 41032413

  8. iOS 创建本地私有库 保存功能代码

    创建本地私有库 >>> cd /Users/cxx/Desktop/Mange_JJH/Lib >>> pod lib create TZTools >> ...

  9. 使用Percona Xtrabackup创建MySQL slave库

    一.使用Percona Xtrabackup创建MySQL slave库 MySQL Server 版本: Server version: 5.7.10-log MySQL Community Ser ...

随机推荐

  1. js连接字符串

    实例 对象令人感兴趣的一点是用它们解决问题的方式.ECMAScript 中最常见的一个问题是字符串连接的性能.与其他语言类似,ECMAScript 的字符串是不可变的,即它们的值不能改变.请考虑下面的 ...

  2. 当padding,margin,top为百分比值,具体数值如何计算

    padding以及margin的四个方向设置值为百分数的时候,是以父元素的宽度为基数来进行计算. (为了保持横向和纵向方向上的margin/padding一致,但是其实也不是一定以父元素的宽度为参照物 ...

  3. emgucv文字识别

    今天讲如何通过emgucv中的函数来实现文字识别.总体的过程可以分为以下几步: 1.读取要识别的图片 2.对图片进行灰度变换 3.调用emgu.cv.ocr的类tessract中的recognize方 ...

  4. LintCode Anagrams

    (记得import java.util.HashMap及Arrays, 首先字符串若为空或者数量为零, 则返回一个空的LinkedList) 1. 把string变为char数组, 再进行排序, 之后 ...

  5. Android驱动开发前的准备(一)

    Android系统移植与驱动开发概述 1.1 Android 系统架构 1.2 Android系统移植的主要工作 1.3 查看linux内核版本 1.4 linux内核版本号的定义规则 1.5 lin ...

  6. js 字符串转换成数字的三种方法

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...

  7. windows下使用Git命令汇总

    这里只是简单汇总下Git主要命令,方便记忆:汇总的不好,请各位包容,谢谢!想看详细讲解,推荐廖雪峰大神的教程,地址如下:http://www.liaoxuefeng.com/wiki/00137395 ...

  8. A log about Reading the memroy of Other Process in C++/WIN API--ReadProcessMemory()

    Memory, is a complex module in Programing, especially on Windows. This time, I use cpp with win wind ...

  9. Shiro中的subject.login()

    当调用ShiroHandler中的subject.login()的时候,会自动调用Realm中的doGetAuthenticationInfo方法.

  10. java 中文转化为拼音

    依赖架包:pinyin4j.jar package net.jeeshop.core.util; import net.sourceforge.pinyin4j.PinyinHelper; impor ...