★数据存储对象中update数据库为什么总是失败??
我在一个窗口的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数据??请大家帮帮忙!!