关于PB6.5采集access97数据的问题?

ljxsea 2008-10-22 03:47:18
开发环境pb6.5+access97

1.没有打6.5.1补丁前,连接数据库出现"SQLSTATE=S1003,ODBC 驱动程序管理器,程序越界类型"

2.在网上下载补丁安装

3.在PB环境中用RUN命令执行程序,一切正常

问题:为什么编译之后运行可执行程序时却查询不到access97中的数据呢,是乱码

部分代码:
//数据库连接
// Profile Snqd
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Connectstring='DSN=snqd;UID=admin;PWD=75701109'"
connect using sqlca;
emp_TransObj = CREATE transaction
emp_TransObj.DBMS = "O73 ORACLE 7.3"
emp_TransObj.LogPass = "yst"
emp_TransObj.ServerName = "@orcl"
emp_TransObj.LogId = "yst"
emp_TransObj.AutoCommit = False
emp_TransObj.DBParm = "PBCatalogOwner='yst'"
connect using emp_TransObj;
open(w_main)

采集代码:
datetime ld_datetime
string ls_age,ls_type
dec v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12
long ll_qx,ll_xh,ll_flag
ll_flag=0
//数据查询
select date,age,type,data1,data2,data3,data4,data5,data6,datampa1,datampa2,datampa3,datampa4,datampa5,datampa6 into :ld_datetime,:ls_age,:ls_type,:v1,:v2,:v3,:v4,:v5,:v6,:v7,:v8,:v9,:v10,:v11,:v12 from groupoperate using sqlca;
if ls_age = '01' then ll_qx = 1
if ls_age = '03' then ll_qx = 2
if ls_age = '28' then ll_qx = 3
if ls_type = 'P.C32.5' then ll_xh = 1
if ls_type = 'P.O42.5' then ll_xh = 2
//数据插入
if ll_flag = 0 then
insert into fx_ccsnqd(credate,qx,xh,d1,d2,d3,d4,d5,d6,dm1,dm2,dm3,dm4,dm5,dm6)
values(:ld_datetime,:ll_qx,:ll_xh,:v1,:v2,:v3,:v4,:v5,:v6,:v7,:v8,:v9,:v10,:v11,:v12) using emp_TransObj;
commit using emp_TransObj;
i = i + 1
st_1.text = string(i) + '条'
end if
messagebox('a',ls_age+ls_type) --为乱码

...全文
46 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljxsea 2008-11-15
  • 打赏
  • 举报
回复
换PB9解决
javaxi 2008-10-22
  • 打赏
  • 举报
回复
6.5的字符集bug比较大,建更换

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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