我正在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)文件? 感谢。
答案 0 :(得分:0)
我迟到了,抱歉;)
我想,你不能。请查看ODBC Data Types
虽然dBASE允许使用NUMERIC数据类型指定精度和小数位数,但ODBC dBASE驱动程序不支持它。对于NUMERIC数据类型,ODBC dBASE驱动程序始终返回精度15和0的缩放。