标题:vfp操作sqlite数据库?
只看楼主
yewxj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:157
专家分:153
注 册:2015-6-18
得分:0 
在网上找的“DevartODBCSQLite.exe”建立的ODBC连接
-------------------------
CLEAR
_Dir=SET("DEFAULT") + SYS(2003) + "\"
_SQL=SQLSTRINGCONNECT("Driver=Devart ODBC Driver for SQLite;database="+_Dir+"jxc.db")
IF !USED('jhxx')
    USE jhxx ALIAS jhxx IN 0
ENDIF

*-表字段和数据库字段类型不一致,怀疑由此导致不能批量插入,期望老师们讲解。
*?SQLEXEC(_SQL,"INSERT INTO id,sales_standing_book (agricultureno,productsName,companyName,specification,salesAmounts,buyers,salesDate) SELECT pdno as 'id',pdno,goods,company,spec,quantity,supplier,lrsj FROM jhxx")
SELECT jhxx
GOTO TOP
DO WHILE !EOF()
    a0 = pdno    &&数据库ID字段作为主键,内容不能空且重复
    a1 = pdno
    a2 = goods
    a3 = company
    a4 = spec
    a5 = quantity
    a6 = supplier
    a7 = lrsj
    ?SQLEXEC(_SQL,"INSERT INTO sales_standing_book (id,agricultureno,productsName,companyName,specification,salesAmounts,buyers,salesDate) VALUES (?a0,?a1,?a2,?a3,?a4,?a5,?a6,?a7)")
    SKIP +1
ENDDO

?SQLEXEC(_SQL,"select id,agricultureno,productsName,companyName,specification,salesAmounts,buyers,salesDate from sales_standing_book")
BROWSE
2019-03-20 15:52
yewxj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:157
专家分:153
注 册:2015-6-18
得分:0 
在网上找的“DevartODBCSQLite.exe”建立的ODBC连接
-------------------------
CLEAR
_Dir=SET("DEFAULT") + SYS(2003) + "\"
_SQL=SQLSTRINGCONNECT("Driver=Devart ODBC Driver for SQLite;database="+_Dir+"jxc.db")
IF !USED('jhxx')
    USE jhxx ALIAS jhxx IN 0
ENDIF

*-表字段和数据库字段类型不一致,怀疑由此导致不能批量插入,期望老师们讲解。
*?SQLEXEC(_SQL,"INSERT INTO id,sales_standing_book (agricultureno,productsName,companyName,specification,salesAmounts,buyers,salesDate) SELECT pdno as 'id',pdno,goods,company,spec,quantity,supplier,lrsj FROM jhxx")
SELECT jhxx
GOTO TOP
DO WHILE !EOF()
    a0 = pdno    &&数据库ID字段作为主键,内容不能空且重复
    a1 = pdno
    a2 = goods
    a3 = company
    a4 = spec
    a5 = quantity
    a6 = supplier
    a7 = lrsj
    ?SQLEXEC(_SQL,"INSERT INTO sales_standing_book (id,agricultureno,productsName,companyName,specification,salesAmounts,buyers,salesDate) VALUES (?a0,?a1,?a2,?a3,?a4,?a5,?a6,?a7)")
    SKIP +1
ENDDO

?SQLEXEC(_SQL,"select id,agricultureno,productsName,companyName,specification,salesAmounts,buyers,salesDate from sales_standing_book")
BROWSE
2019-03-20 15:52
yewxj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:157
专家分:153
注 册:2015-6-18
得分:0 
2019-03-20 15:54
yewxj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:157
专家分:153
注 册:2015-6-18
得分:0 
2019-03-20 15:54
yewxj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:157
专家分:153
注 册:2015-6-18
得分:0 
发一次回复,怎么出来两个回复?
2019-03-20 15:56
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
回复 22楼 yewxj
初步实现了,其实问题正在查找 ;万分感谢!!!
2019-03-20 20:50
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
回复 22楼 yewxj
连编后,拿给别人用,不知道能不能也一样实现该功能。(假设别人电脑d盘nzjxc文件夹中也固定会有jxc.db; 在别人电脑上没有安装odbc这个程序的情况下,会不会就不能实现了。)

使用情景是:我自己开发一个vfp数据库程序;可是主管部门要求使用他们的软件;两软件功能差不多,但没有自己的好用,而且他们只看一下进销数据表(jxc.db),
所心我想平时使用自己的系统vfp,在软件的destroy事件中,把销售数据,注入他们的软件的jxc.cb数据文件中,以备主管部门可以用他们要求使用的软件查看一下数据就可以了。

另外,同行别的朋友也有此需要。问能不能也用我的软件,同时还能把每天的销售数注入到主管部门要求使用的软件中。
2019-03-20 21:05
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
回复 22楼 yewxj
在另一个没有安装odbc的机子上使用,显示,连接句柄无效!
有没有办法把odbc连编到vfp中。让别的机子只要装上我的vfp,就可以操作他电脑上的jxc.db呢?
2019-03-20 22:06
yewxj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:157
专家分:153
注 册:2015-6-18
得分:30 
回复 28楼 su0527
目前只能想到安装SQLite的ODBC驱动后,在ODBC数据源中添加SQLite驱动的方法。
2019-03-21 09:38
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
感谢fyyylyl
结帖时漏给分了,
在此特别鸣谢!!!

2019-03-21 19:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493660-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.126663 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved