| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1291 人关注过本帖
标题:VFP 连接 paradox 数据库该如何做?
只看楼主 加入收藏
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
实在不好意思,程序执行虽然通过了,但还是没有打开需要的表。我想读取税控开票系统中的销项发票.db、销项发票明细.db、销项发票销货清单.db中的数据,本来准备将资料打包发上来,请5楼的坛友帮忙看看,但因附件太大无法上传,我仅仅上传其中的一个表,不知是否可以单独打开。
WORK.rar (596.23 KB)

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-05-15 15:01
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
下面的程序运行未报错,但没有读了数据:
DECLARE integer SQLConfigDataSource in odbccp32.dll Long,integer,string,string
lcODBCDriver="Microsoft Paradox Driver (*.db )"
cfile2="DSN=Myaccess"+CHR(0)+"DBQ=D:\航天信息\DATABASE\DEFAULT\WORK"+CHR(0)  &&cdir1是数据库所在目录路径
nhandle=SQLConfigDataSource(0,1,lcODBCDriver,cfile2)
IF nhandle>0
*    IF empty(密码) .and. empty(用户名)
*         nsqlhandle=SQLConnect("Myaccess")                                    &&建立数据源连接
*    ELSE
        nsqlhandle = SQLConnect("Myaccess","areg","jIGGAe")                    &&密码应该是正确的,用户名则是猜测的
*    ENDIF
    If nsqlhandle > 0     &&生成数据库列表,把此表放在列表框中,就可以点击项目打开任意数据表了.
        SQLTABLES(nsqlhandle,"销项发票.db","Dbfname")                            &&将数据源对应的表名保存到VFP的临时表中
        SELECT dbfname
        BROWSE
*        SCAN while .not. EOF()
*            IF AT("$'",Table_name)>0
*                nn1=AT("$'",Table_name)+1
*                IF LEN(TRIM(Table_name))>nn1
*                    DELETE
*                ENDIF
*            ENDIF
*        ENDSCAN
*        GOTO top
*        RETURN .t.
    ELSE
        WAIT "用户名或密码错误,不能打开库!" window at 12,40 timeout 6
    ENDIF
ENDIF
SQLConfigDataSource(0,3,lcODBCDriver,cfile2)

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-05-15 15:04
kongxc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:60
专家分:104
注 册:2007-9-30
收藏
得分:0 
这个表没有用户名,用户名为空就是了,密码是:1FFKEC123Q4C26G 能够正常打开.
我已给你转成DBF表,发给你看看.
销项发票明细.zip (20.1 KB)
2014-05-15 15:36
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
谢谢了!不过我用上面的代码将用户名设置为空,还是打不开db文件,是不是代码哪里有问题呢?

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-05-15 17:15
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
经过认真检查,生成数据库列表这一步已经完成,指定目录下的数据表目录已经形成了临时表,下一步再探索如何“把此表放在列表框中,就可以点击项目打开任意数据表了”。

[ 本帖最后由 hu9jj 于 2014-5-16 15:37 编辑 ]

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-05-15 17:18
kongxc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:60
专家分:104
注 册:2007-9-30
收藏
得分:0 
能到这一步就基本上成功了,后面的打开表的方法,就是SELECT方法了,这个对任何已经连接好的数据库都是通用的方法,没有什么难度了。
2014-05-17 10:52
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
我用SQLEXEC(nsqlhandle,"SELECT * FROM 销项发票","temp1")函数返回的值是-1,即发生连接级错误。还没有查出是什么原因造成的

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-05-17 17:03
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
看来还没解决
2014-05-17 20:22
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用tlliqi在2014-5-17 20:22:46的发言:

看来还没解决

还没有解决,结贴是不堪系统提示骚扰。另外也是看到5楼的坛友潜水多年,所以把分全给了他。
你也别旁观了,帮我一起试试如何?

[ 本帖最后由 hu9jj 于 2014-5-18 10:23 编辑 ]

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-05-18 10:20
快速回复:VFP 连接 paradox 数据库该如何做?
数据加载中...
 
   



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

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