高分提问:关于从datawindow存成的dbf文件

whunvy 2004-03-30 09:38:02
关于从datawindow存成的dbf文件:

问题:
用数据窗口,dw_1.saveas("c:\tmp.dbf", dBASE3!, true)
其中字段有number,decimal等,这个dbf文件同老的dos环境生成的dbf文件相比较,问题就出现了。
这里的number,decimal类型都是定长的,一般现实为(示例)
(空格 )1.2 (空格 )2.3
而dos环境生成的dbf文件格式:
1.2 2.3
不知能否说明白?这一点小的区别,就使得我用pb存成的dbf与老系统的dbf文件不兼容,无法使用。
现在没有别的办法,不要告诉我说不用dbf格式阿,老系统不允许的,他只认老格式的dbf文件。
我找的了一个临时方法:
1、直接修改dbf二进制文件,将长度换掉,这个需用二进制编码器或debug
2、通过odbc打开老的dbf文件后再向里面添加数据。
以上两种方法都可行,但都不理想,增加了系统负担,我也不喜欢。
欢迎各路高手帮忙解决!
...全文
71 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ang_e 2004-04-15
  • 打赏
  • 举报
回复
有个问题:更新7.01还好,更新到7.03后,原来用7.0编译的应用程序就都不能执行了,对于大的应用系统来说,不好管理。
最好的办法就是升级到pb9
whunvy 2004-04-06
  • 打赏
  • 举报
回复
再往前顶
xyzliuin 2004-03-31
  • 打赏
  • 举报
回复
pb在这都有bug,我真是佩服的五体投地!!!
whunvy 2004-03-31
  • 打赏
  • 举报
回复
哈哈,既然是我自行解决的,也顺便跟大家共享了,
好的评论都有分,欢迎欢迎!
pb7.0的最新补丁包括了这个问题的解决方法。
klbt 2004-03-30
  • 打赏
  • 举报
回复
恭喜问题解决!
whunvy 2004-03-30
  • 打赏
  • 举报
回复
dbase2!试过了,结果一样通不过。
老系统的接口只有一个,就是读取dbf文件,而且老系统不在我这里,不可维护和修改,所以xiekf(野马)的方法不在讨论范围内。
xiekf 2004-03-30
  • 打赏
  • 举报
回复
dw_1.saveas("c:\tmp.txt", Text!, false)

在dbase:
use tmp.dbf
appe from tmp.txt sdf
livode 2004-03-30
  • 打赏
  • 举报
回复
帮你up,关注。
同时提点疑问,这是dbf的存储格式还是dbase3!格式的问题。是否可以考虑换个格式,如dbase2!格式试试。
whunvy 2004-03-30
  • 打赏
  • 举报
回复
还有类似的讨论么?
whunvy 2004-03-30
  • 打赏
  • 举报
回复
哈哈,终于自行解决了。
折腾了一天,原来是pb的bug.
whunvy 2004-03-30
  • 打赏
  • 举报
回复
这里:
http://info.sybase.com/resolution/detail.stm?id_number=10790135
有解决办法,
下个最新的更新程序。
xyzliuin 2004-03-30
  • 打赏
  • 举报
回复
难。你的dbf应该指的是foxpro吧,你用foxpro编个程序编译了
用野马的方法先导成txt文件,然后用pb调用foxpro程序加参数 tmp.txt
自动生成dbf数据库并添加进数据

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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