0

我正在 dbase III (*.dbf) 文件中创建一个表。一切正常,但一些数字列需要特定的宽度和精度。如果我在 CREATE TABLE 语法中添加宽度和精度,例如 HEIGHT NUMERIC(8,2),那么它就不起作用。我尝试了两个连接字符串...

CString connString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" + directory;
CString connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + directory + ";Extended Properties=dBASE III;";

当我尝试创建表时,第一个将导致错误,第二个将允许我创建表,但没有将宽度或精度应用于生成的 dbf 文件。

odbc creat table 语句的错误是... 代码 = 80040e14 代码含义 = IDispatch 错误 #3092 源 = 用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序 描述 = [Microsoft][ODBC dBase 驱动程序] CREATE TABLE 语句中的语法错误。

任何人都知道我应该使用什么来创建具有特定字段宽度和精度的 dbf (dbaseIII) 文件?谢谢。

4

1 回答 1

0

我迟到了,对不起;)

我想,你不能。查看 ODBC 数据类型

虽然 dBASE 允许使用 NUMERIC 数据类型指定精度和小数位数,但 ODBC dBASE 驱动程序不支持它。ODBC dBASE 驱动程序始终为 NUMERIC 数据类型返回 15 的精度和 0 的小数位数。

于 2013-10-06T19:59:37.613 回答