PB 问题:为什么无法保存到数据库中?

作者&投稿:父欧 (若有异议请与网页底部的电邮联系)
PB的数据库问题~

你在window的constructor事件里写上settransobject(sqlca)试试
前提是你的sqlca的参数在程式开始就设置好了
类似
SQLCA.DBMS= "MSS Microsoft SQL Server"
SQLCA.Database="MYDB"
SQLCA.LogID= 'sa'
SQLCA.LogPass= 'password'
SQLCA.ServerName = '.'
SQLCA.AutoCommit = False

connect using SQLCA;

insert into khxx (khid,khname) values (:khid,:khname)
插入和更新在PB里本来没看不到效果啊,你看一一下数据库里有变化没有,还有你可以看看sqlca.sqlcode的值是否为0,为0说明操作成功,为-1则说明操作失败!

insert into ...
values...
之后,没有commit,当然不会保存成功了。
应该在这个语句后边加上
if sqlca.sqlcode = 0 then
commit;
else
messagebox("错误","保存失败"+string(sqlca.sqlerrtext))
rollback;
return
end if


珙县19851377155: PB 问题:为什么无法保存到数据库中? -
贠有澳舒: insert into ...values...之后,没有commit,当然不会保存成功了.应该在这个语句后边加上 if sqlca.sqlcode = 0 then commit; else messagebox("错误","保存失败"+string(sqlca.sqlerrtext)) rollback; return end if

珙县19851377155: pb中数据无法保存 -
贠有澳舒: 您好 你可以在 commit; 之前 加一句,看看错误说明,排查错误 IF SQLCA.SQLCode = -1 THEN MessageBox("SQL error", SQLCA.SQLErrText) 然后你的保存和获取的代码是一样的 还有就是,PB数据库的操作,用数据库窗口(datawindow)设计会比较方便,同样的效果,只需要一个 freeform的数据库窗口加上简单的update(),retrieve() 函数就可以完成了,不需要一个一个sle框取操作,你如果列在多一些,效率更明显

珙县19851377155: PB中的datawindow怎么获取值并且保存到数据库啊,我刚开始保存进去是空的,然后在保存就提示保存失败了. -
贠有澳舒: dw要保存到数据库要用update函数,如: if dw_1.update() = 1 thencommit using sqlca; elserollback using sqlca;messagebox('讯息','资料保存失败',stopsign!)return 1 end if

珙县19851377155: 我的pb数据库表已经建好,各个外键和主键的关系也设好,可是我往表里输入内容时保存不了,提示如下: -
贠有澳舒: 往外键表里面存值,需要先输入主键表的值,,,,外键列出现的值,主键列必须要有值,否则就报你那个错误

珙县19851377155: 为什么我的PB程序运行时保存不了,直接在数据窗口输入数据也保存不了.谢谢 -
贠有澳舒: 数据窗口无法更新? 设置数据表的更新属性 rows->update properties-> allow updates 选上

珙县19851377155: PB 数据保存按钮程序编好了,试运行时无法保存成功. 编的程序并没有提示错误啊. -
贠有澳舒: 保存前,确定程序连接数据库和该数据窗口已连接事务,即: connect using sqlca ; if sqlca.code <>0 则连接不成功. dw_exp.settransobject(sqlca)

珙县19851377155: pb生成的exe文件无法连接数据库
贠有澳舒: 你应该是把本机的PB程序生成之后,带到别的机器上执行对吧? 首先,确定你放到的另一台机器上的环境,PB打包的DLL文件是否完全? 只是PBVM和LIBJCC两个DLL是不够的.具体哪几个记不清了,这个到网上查查应该都有.或者你可以直接把powerbuilder文件夹下的dll都复制过去,肯定对于PB环境就没问题了. 其次,执行exe程序的机器是否有数据库客户端的环境,如果没有,打包过去的DLL还要包括数据库必须的DLL,如果有,你PB里面SQLCA的参数在执行的机器是否同样适用?如果适用才可以. 你的问题,肯定是以上两点当中的一个,打包DLL文件不完全或者配置的连接参数在当前机器不适用,无法连接数据库.

珙县19851377155: PowerBuilder中Edit data无法sava 在使用pb导数时出现无法保存的问题 -
贠有澳舒: 很奇怪,我经常用这个功能,可是除了表没有主键,还真的没有遇到像你这个这样的问题.你试试其他的表是不是也有一样的问题,如果都有,那肯定是你PB的问题.如果没有,再检查一下这个表的字段,主键等等,重新做一下.

珙县19851377155: pb怎么保存数据窗口中添加的数据,保存到数据库表中 -
贠有澳舒: 正常情况,使用update()函数就可以保存.比如 dw_1.update()具体要看数据库窗口的设计情况.

珙县19851377155: pb怎么保存数据窗口中添加的数据,保存到数据库表中!请给详细的思路!和代码参考!重谢
贠有澳舒: 新建一个数据窗口----选择需要更新的表,或者直接写sql也可以 如下图已经建立好的数据窗口,根据要求将需要更新的列、unigue key 还有需要更新的表设置好, 【图片添加不成功--连接为http://hi.baidu.com/jjlsky/album/item/3a029801a9309b...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网