VB建立DBF表,对字段数据类型为小数的字段怎么定义啊?

shipL 2010-04-27 02:17:14
在VB6中通过DAO创建DBF数据文件,执行下面语句:
CREATE TABLE TableName (SCRQ varchar(8) NULL,ZQDM varchar(8) NULL,ZQJC varchar(20) NULL,QZ Numeric NULL, ZSP Numeric NULL,CCSL Numeric NULL,SXSL Numeric NULL,HL Numeric NULL,KYTC Numeric NULL);
可以正确生成DBF文件,也可以向其中插入数据。
但是这样定义的表结构,Numeric类型默认都是保留5位小数,我如果像自定义小数位数,象下面这样:
CREATE TABLE TableName (SCRQ varchar(8) NULL,ZQDM varchar(8) NULL,ZQJC varchar(20) NULL,QZ Numeric(10,2) NULL, ZSP Numeric(20,10) NULL,CCSL Numeric(12) NULL,SXSL Numeric(12) NULL,HL Numeric(10,8) NULL,KYTC Numeric(20,2) NULL);

执行的时候提示错误:“CREATE TABLE语法错误”

应该怎么实现自定义小数位数啊?多谢各位了!!
...全文
298 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaboyzyq 2010-04-28
  • 打赏
  • 举报
回复
dBASE 5.0;以下驱动,建表时不支持楼主的要求,
请楼主用dBASE 5.0;驱动试试。

我用ADO(不是DAO)给你示范,仅供参考:

Private Sub Command1_Click()
Dim conn As New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1;Extended Properties=dBASE 5.0;User ID=Admin;Password=;"
conn.Open
conn.Execute "CREATE TABLE TableName (SCRQ varchar(8) NULL,ZQDM varchar(8) NULL,ZQJC varchar(20) NULL,QZ Numeric(10,2) NULL, ZSP Numeric(20,10) NULL,CCSL Numeric(12) NULL,SXSL Numeric(12) NULL,HL Numeric(10,8) NULL,KYTC Numeric(20,2) NULL)"
conn.Execute "INSERT INTO TableName (zsp,KYTC) VALUES (5,6)"
MsgBox "OK"
'执行完成后,你用excel打开TABLENAM.DBF就可看到结果了。
'注意先在C:\下建立叫1的文件夹,然后可以测试本程序。
End Sub

Tiger_Zhao 2010-04-28
  • 打赏
  • 举报
回复
FoxPro 语法试试:
QZ N(10,2)
贝隆 2010-04-27
  • 打赏
  • 举报
回复
UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
shipL 2010-04-27
  • 打赏
  • 举报
回复
我试过了,也报同样的错误,真是相当困惑啊。
  • 打赏
  • 举报
回复
试试float

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧