主题:如何将DBF表内容添加到ACCESS数据库中
Gleam
[专家分:3100] 发布于 2010-12-30 18:01:00
请教:现有VFP的表EXPERTSS 和ACCESS表EXPERT,两张表格字段完全相同,且包含备注类型的字段。
其中EXPERTSS表中存放了要上传的数据,如何在VFP中使用编程的方式将起数据添加到ACCESS的EXPERT表中??
我用的字符串连接nhandle=Sqlstringconnect("Driver={Microsoft Access Driver (*.mdb)};dbq=D:\专家数据库2.mdb;pwd ='' ")
搞了半天,数据就是传不上去,请大家指教.
最后更新于:2010-12-30 18:09:00
回复列表 (共7个回复)
沙发
sywzs [专家分:5650] 发布于 2010-12-31 15:55:00
nhandle=SQLSTRINGCONNECT("Driver={Microsoft Access Driver (*.mdb)};dbq=D:\专家数据库2.mdb;pwd=")
** 注意:pwd=后面没有单引号'',此时的nhandle应该大于0。
use EXPERTSS
SCAN
cSTR="Insert Into EXPERT(字段名1,字段名2,字段名n) Values('"+字段名1+"','"+字段名2+"','"+字段名n+"')"
SQLEXEC(nhandle,cSTR)
ENDSCAN
** 试试看,以上代码均为字符型或日期型(日期型格式为2010-12-31),若是数值型则去掉单引号。
板凳
Gleam [专家分:3100] 发布于 2010-12-31 16:17:00
谢谢楼上.按照您的方式处理了,不过还是添加不了数据.
aa = SQLEXEC(nhandle,cSTR)返回-1.
我用远程视图也添加不进去数据.
不知道原因出在什么地方.
还望赐教.
3 楼
Gleam [专家分:3100] 发布于 2011-01-03 10:29:00
一楼的朋友,感谢您的帮助!
按照您的方法,还是不行,aa = SQLEXEC(nhandle,cSTR),返回的一直是 -1.
另外我用远程视图也更新不了.不知道问题出在哪里了.
4 楼
sywzs [专家分:5650] 发布于 2011-01-06 11:36:00
第一、nhandle的值是多少? &&应该大于0
第二、cSTR的具体内容? &&如:"Insert Into EXPERT(姓名,性别) Values('张三','男')"
5 楼
sywzs [专家分:5650] 发布于 2011-01-06 11:42:00
假如ACCESS表中的某字段长度是10个字符,而插入记录时大于10个字符,此时程序不报错,但也不能插入记录。
6 楼
Gleam [专家分:3100] 发布于 2011-01-07 17:19:00
感谢王工的帮助.
第一、nhandle的值是大于0的,我已经从数据库中取出来记录了.
第二、cSTR的具体内容和您给出的 :"Insert Into EXPERT(姓名,性别) Values('张三','男')"一样.我用MESSAGEBOX(CSTR)显示了SQL语句,没有书写错误.
我用SQL数据库测试了一下,我的代码没有问题.
问题可能出在ACCESS数据库本身,因为ACCESS的导入功能都不能用.
7 楼
sywzs [专家分:5650] 发布于 2011-01-08 07:16:00
可能的话把ACCESS数据库发给我。sywzs@163.com
我来回复