Delphi语言,无论Delphi7、Delphi2007或者Delphi XE2或3,无需安装其它附加的部件,就可以实现DBF文件的打开及相关操作,网络上很多要用到什么ADO引擎的,其实未必,只有安装的Delphi有BDE即可。

实例操作为例:

1、新添一个Tform,在上面添加Table、Datasource和Datagrid等组件,见下图:

2、设置Table1的DatabaseName属性为dBase files,Datasource1的DataSet属性为Table1,DataGrid1的DataSource为DataSource1

3、在Button1的单击事件中添加如下代码:

procedure TForm1.Button1Click(Sender: TObject);
var
filenm,path:string;
begin
if self.OpenDialog1.Execute then
begin
filenm:=extractfilename(self.OpenDialog1.filename);
path:=extractfiledir(self.OpenDialog1.filename);
self.Table1.Active:=false;
self.Table1.databasename:=path;
self.Table1.tablename:=filenm ;
self.Table1.Active:=true;
end;
end;

即可实现dbf数据文件的打开

4、整个程序的代码如下:

unit Unit1;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids,
Data.DB, Bde.DBTables; type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
var
filenm,path:string;
begin
if self.OpenDialog1.Execute then
begin
filenm:=extractfilename(self.OpenDialog1.filename);
path:=extractfiledir(self.OpenDialog1.filename);
self.Table1.Active:=false;
self.Table1.databasename:=path;
self.Table1.tablename:=filenm ;
self.Table1.Active:=true;
end;
end; end.

以上代码在Delphi XE3和XE4下运行通过,可以打开dbf文件,并自动在DataGrid1中显示所有数据。

Delphi如何打开DBF数据库的更多相关文章

  1. C#如何打开DBF数据库文件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  2. 教程-(SQL DBE、ADO连接)+(Firebird火鸟+DbExpress)+(VF DBF数据库)+(DB Paradox)

    DBE 连接SQL Server显然用ADO或DBEXPRESS更有优势,起码连接起来比较方便. BDE的话可以用如下方法:(以下以Delphi7为例,其它版本的DELPHI请自己摸索一下,不过基本相 ...

  3. python读写dbf数据库

    dbf数据库作为一种简单的数据库,曾经广泛使用.现在在金融领域还是有很多的应用之处,工作中遇到此类的问题,在此记录一下. 1. 读取dbf ''' 读取DBF文件 ''' def readDbfFil ...

  4. (转载)delphi 把图片存入数据库

    delphi 把图片存入数据库 procedure TForm1.Button1Click(Sender: TObject); // 插入图片过程var Stream:TMemoryStream;be ...

  5. IWorkSpace接口介绍 1.打开各种数据库

    IWorkspace接口提供访问工作空间的通用属性和方法,如它的连接属性,以及包含的数据集的方法. IWorkspace的成员字段: Members   Description ConnectionP ...

  6. C#操作VFP的dbf数据库文件实例

    C#操作VFP的dbf数据库文件实例 新一篇: js获取网站跟路径 实例中分别使用Oledb和Odbc操作vfp数据库dbf文件,操作包括:读取,增删改. 已测试可直接使用,使用方法:下面代码分两个部 ...

  7. oarcle12c打开本地数据库

    --显示当前数据库的链接db,是cdb还是pdb. show con_name;--在oracle12c中打开本地数据库,否则本地数据库无法链接alter pluggable database pdb ...

  8. C#打开SDE数据库的几种方式总结

    转自谢灿软件原文 C#打开SDE数据库的几种方式总结 1.通过指定连接属性参数打开数据库 /// <param name="server">数据库服务器名</pa ...

  9. ArcSDE:C#打开SDE数据库的几种方式总结

    转自原文 ArcSDE:C#打开SDE数据库的几种方式总结 1.通过指定连接属性参数打开数据库 /// <param name="server">数据库服务器名< ...

随机推荐

  1. spring 源代码地址

    spring的源代码地址发生了更改,以前的地址是 https://src.springframework.org/svn/spring-framework/.但现在spring的代码开始使用Git进行 ...

  2. sqlserver日常维护脚本

    SQL code --备份declare @sql varchar(8000) set @sql='backup database mis to disk=''d:\databack\mis\mis' ...

  3. Hark的数据结构与算法练习之Bogo排序

    算法说明 Bogo排序是交换排序的一种,它是一种随机排序,也是一种没有使用意义的排序,同样也是一种我觉得很好玩的排序. 举个形象的例子,你手头有一副乱序的扑克牌,然后往天上不停的扔,那么有一定机率会变 ...

  4. transient的理解

    用法解释 1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问. 2)transient关键字只能修饰变量,而不能修饰方法和类.注意,本地变量是不能被 ...

  5. spring实战五之Bean的自动检测

    在spring实战四中,使用在Spring中增加<context:annotation-config>的方式告诉Spring,我们打算使用基于注解的自动装配,希望Spring特殊对待我们所 ...

  6. Counting Squares[HDU1264]

    Counting Squares Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  7. BZOJ3830 : [Poi2014]Freight

    首先为了保证发车时间都不同,T[i]=max(T[i],T[i-1]+1) 然后设f[i]表示前i列车回来的最早时刻 f[i]=min(max(T[i],f[j]+i-j-1)+s*2+i-j-1) ...

  8. Wilddog - 野狗统计

    根据业务需求提出的统计代码. <!DOCTYPE HTML> <html lang="en-US"> <head> <meta chars ...

  9. sheet目标数据插入函数主键模块

    #coding:gbk #导入处理excel的模块 import xlrd #定义哪些字段需要判断,只支持时间字段 toSureColArray = ['CREATE_TIME','MODIFY_TI ...

  10. 虚拟机下CentOS找不到网卡eth0的解决方法

    1. vi /etc/sysconfig/network-scripts/ifcfg-eth0 2. 将其中的ONBOOT属性改成yes即可   2015-8-3更新: 今天发现通过VirtualBo ...