★数据存储对象中update数据库为什么总是失败??

skyfeather 2003-04-13 08:51:45
我在一个窗口的open事件中动态创建一个数据存储对象,然后通过控件修改它的item,
在窗口close事件中update数据库,内容并没有写到数据库中,也没有出现任何错误,
部分代码如下:
//定义一个窗口的实例变量
datastore ids_prod

窗口的open事件中:
string ls_sql
string ls_syntax,ls_err_create

ids_prod=Create datastore

ls_sql="select * from product_class" //product_class为表名
ls_syntax=SQLCA.SyntaxFromSQL(ls_sql,"",error_syntaxfromsql)
ids_prod.Create(ls_syntax,err_create) //正确创建数据存储对象
ids_prod.settransobject(sqlca) //建立与事务对象的联系
ids_prod.retrieve() //检索数据

在窗口某控件中修改item代码如下:
ids_prod.SetItem(1,"product_class_name","江苏") //product_class_name为string型的字段名

在窗口的close事件中:
if ids_prod.update()=1 then
Commit;
messagebox("成功","数据库保存成功!")
else
Rollback;
messagebox("失败","数据库保存失败!")
end if

关闭窗口时报“数据库保存失败!”的提示信息,没有其它错误信息!
回头到数据库中看,数据并没有修改。
我不知道错误在哪?
另外,数据窗口对象中有一个update properties,里面有一个allow update,要选中后才能update数据库,
否则就出现Datawindow does not have update capability.的错误,我不知道datastore中数据保存失败是不是这个原因,
datastore中不知道有没有这样的一个属性!!
怎么才能正确update数据??请大家帮帮忙!!
...全文
128 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianfl 2003-04-13
  • 打赏
  • 举报
回复
dw和ds是一回事,UPDATE属性是在dw对象里设的,和dw还是ds没关系
bomber2001 2003-04-13
  • 打赏
  • 举报
回复
dataobject的rows-->update properties
skyfeather 2003-04-13
  • 打赏
  • 举报
回复
to: xirumin(吃好喝好)
if ids_prod.update(true) = 1 then //加一个参数true
好像没有用啊!!
另外数据存储对象的update properties怎么设置啊?

xirumin 2003-04-13
  • 打赏
  • 举报
回复
1. 数据窗口中各字段的update properties设置是否OK
2. 这句if ids_prod.update()=1 then
改为if ids_prod.update(true) = 1 then //加一个参数true

别忘了给分
ropriest 2003-04-13
  • 打赏
  • 举报
回复
没设置Datastore的update属性。
这样动态创建没有多大的实际意义,不如做个Datastore的数据窗口算了!
raininginmorning 2003-04-13
  • 打赏
  • 举报
回复
DATASTORE的对象也是DW 啊。还是要DW设置好。
你的动态创建好象没设置UPDATE属性
skyfeather 2003-04-13
  • 打赏
  • 举报
回复
谢谢大家,我终于update成功了。
ids_prod.Object.datawindow.table.updatetable='product_class'
ids_prod.Object.product_class_name.update=true
ids_prod.Object.datawindow.table.updatewhere=1

就可以了!!
或者用Modify()也可以的!!
zhouweiwansui 2003-04-13
  • 打赏
  • 举报
回复
这么动态更新有意义么?
skyfeather 2003-04-13
  • 打赏
  • 举报
回复
可是我的datastore 是通过脚本动态创建的,怎么找到rows-->update properties ?

611

社区成员

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

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