欺名盗世的delphi,吾极其恼怒中。自称方便的操作dbf文件,用tquery的sql语句或batchmove建立的dbf文件,用foxpro都打不开。

时间:2021-06-14 17:36:08
真是不要脸,还好意思把dbf文件作为基本的数据库用表。我吐吐吐,有同感吗?

15 个解决方案

#1


??没有!

#2


DBF的版本,bde的版本?

#3


BDE是delphi5 enterprise自带的,版本不详,我试过升级,也没用,还有用tquery控件的sql建立后缀为dbf的文件,无法控制版本,反正用其他软件打不开。还有,就算是可以被其他软件打开的dbase文件,用tbatchmove转成一个新文件后,也打不开了。苦恼。

#4


还有,我试了一下,用adoquery的SQL建立的DBF就打得开,但是我不敢把BDE全改为ado,因为整个程序全改太麻烦。所以,希望大家看看,怎么解决这个问题。

#5


delphi5带的 BDE因该是5.11的,按理说不该这样,我没试验过,但我觉得对于DBF和Paradox是Borland的基本数据库不该有这个问题,我想多半是BDE设置问题。

#6


大家要是不信的话,就看看以下代码-delphi帮助中的sql语句。
把这个语句放到Tquery中,一执行,dbf文件就建立了,可以用BDE打开。但是就是不能用其他软件打开(delphi5和6都不行)。

CREATE TABLE "c:\employee.dbf"

(
  last_name CHAR(20),
  first_name CHAR(15),
  salary NUMERIC(10,2)

)
我要吐了,欺名盗世。

#7


我说delphi5和6都不行的意思是说,他们都有这样的问题,不是指不能用BDE打开。还有用tbatchmove导出的表也有这个问题,气愤中。

#8


Delphi是开发工具,不是DBMS!
给你提供这个功能就不错了,这是为了让你以前的数据库能继续使用,你还想怎样?
现在还有谁在用文件型数据库开发系统?

#9


楼上的老兄这样说就不对了,我承认delphi不是DBMS,但是它自称dbf是它的基础数据库。我的dbf文件经它一batchmove就不能被识别了,这总不应该吧。而且它既然不能用tquery的SQL语句来建立合法的dbf文件,它就不要挂羊头卖狗肉嘛。我要不是为了考虑和某些专业软件交换数据,我都还不想用dbf呢。你认为呢?

#10


是你的BDE有问题把,我倒过  N 次了, 100% 可靠

ADO倒是真有问题, 你试试从 DBF 倒到 MS Sql。当数据库大于 1000左右时, 就不能完全倒出,反过来也是一样.

#11


老兄,我也导过,我说了,不是不能导,导出的dbf,在我的程序中,也是100%可以用,主要问题是不能让其他软件打开,不信你试试,建立的dbf文件真的不能用其他软件打开。你看看我上面说的嘛。当场建立一个dbf文件,就是打不开。

#12


是我错怪了delphi,后来,我去改了BDE的设置才行了,所以建议各位用DBF表的老兄,一定要在装了delphi后,去改BDE的设置。呵呵,一个苦恼的问题终于结束。但是默认设置一定不行,这也算DELPHI的一个不对吧。谢谢大家关注,我要放分了。

#13


是,好像foxbase 以上就常常打不开
BDE 兼容的是 DBase III 的版本

#14


但是,访问FoxPro数据库更推荐使用Halcyon元件集或者Apollo元件集等等。我所知,至少有不下4种第三方元件专门用于访问FoxPro和XBase数据库。它们都比BDE好。而且分发也比BDE简单。

#15


建议使用Halcyon元件集或者Apollo元件集。类似的元件集大约有不下4种。它们访问.dbf数据库都比BDE好。

#1


??没有!

#2


DBF的版本,bde的版本?

#3


BDE是delphi5 enterprise自带的,版本不详,我试过升级,也没用,还有用tquery控件的sql建立后缀为dbf的文件,无法控制版本,反正用其他软件打不开。还有,就算是可以被其他软件打开的dbase文件,用tbatchmove转成一个新文件后,也打不开了。苦恼。

#4


还有,我试了一下,用adoquery的SQL建立的DBF就打得开,但是我不敢把BDE全改为ado,因为整个程序全改太麻烦。所以,希望大家看看,怎么解决这个问题。

#5


delphi5带的 BDE因该是5.11的,按理说不该这样,我没试验过,但我觉得对于DBF和Paradox是Borland的基本数据库不该有这个问题,我想多半是BDE设置问题。

#6


大家要是不信的话,就看看以下代码-delphi帮助中的sql语句。
把这个语句放到Tquery中,一执行,dbf文件就建立了,可以用BDE打开。但是就是不能用其他软件打开(delphi5和6都不行)。

CREATE TABLE "c:\employee.dbf"

(
  last_name CHAR(20),
  first_name CHAR(15),
  salary NUMERIC(10,2)

)
我要吐了,欺名盗世。

#7


我说delphi5和6都不行的意思是说,他们都有这样的问题,不是指不能用BDE打开。还有用tbatchmove导出的表也有这个问题,气愤中。

#8


Delphi是开发工具,不是DBMS!
给你提供这个功能就不错了,这是为了让你以前的数据库能继续使用,你还想怎样?
现在还有谁在用文件型数据库开发系统?

#9


楼上的老兄这样说就不对了,我承认delphi不是DBMS,但是它自称dbf是它的基础数据库。我的dbf文件经它一batchmove就不能被识别了,这总不应该吧。而且它既然不能用tquery的SQL语句来建立合法的dbf文件,它就不要挂羊头卖狗肉嘛。我要不是为了考虑和某些专业软件交换数据,我都还不想用dbf呢。你认为呢?

#10


是你的BDE有问题把,我倒过  N 次了, 100% 可靠

ADO倒是真有问题, 你试试从 DBF 倒到 MS Sql。当数据库大于 1000左右时, 就不能完全倒出,反过来也是一样.

#11


老兄,我也导过,我说了,不是不能导,导出的dbf,在我的程序中,也是100%可以用,主要问题是不能让其他软件打开,不信你试试,建立的dbf文件真的不能用其他软件打开。你看看我上面说的嘛。当场建立一个dbf文件,就是打不开。

#12


是我错怪了delphi,后来,我去改了BDE的设置才行了,所以建议各位用DBF表的老兄,一定要在装了delphi后,去改BDE的设置。呵呵,一个苦恼的问题终于结束。但是默认设置一定不行,这也算DELPHI的一个不对吧。谢谢大家关注,我要放分了。

#13


是,好像foxbase 以上就常常打不开
BDE 兼容的是 DBase III 的版本

#14


但是,访问FoxPro数据库更推荐使用Halcyon元件集或者Apollo元件集等等。我所知,至少有不下4种第三方元件专门用于访问FoxPro和XBase数据库。它们都比BDE好。而且分发也比BDE简单。

#15


建议使用Halcyon元件集或者Apollo元件集。类似的元件集大约有不下4种。它们访问.dbf数据库都比BDE好。