不过我觉得没什么必要,如果只是更新的话,那么直接使用update的SQL语句就可以实现了。
如果是显示,使用计算列也可以实现,不用计算列,在数据窗口语法中通过计算得到一个新列也可以。不过这个列不能保存。
可以先通过UPDATE语句更新数据库中现有的数据,然后数据窗口四个字段都选出来。
然后数据窗的itemchanged事件中,如果修改c1,c2或者c3当中一个,就触发计算c4,这样就搞定了。
①首先要在窗口的open事件中写如下一句dw_1settransobject(sqlca)//譬如您要保存的数据窗口名字为dw_1;这计划的意义在于时刻保持与数据窗口月数据库表的连接 亦或者双击Dw_1对象。选择 constructor事件 写下以上语句即可
②然后在数据窗口中修改 或者添加数据随后创建一个按钮或者事件 都行用于保存当然可以对应您的相应需要的校验都通过后才可保存写如下代码进行保存数据
if dw_1update() >o then//更新保存数据; 1 -成功;-1-失败
commit;//提交数据
else
rollback;//回滚数据
end if
同时要注意 在数据窗口对象控件 即在 dw_1所用到的数据窗口对象编辑画板中的update properties 设置正常(即更新属性) 具体查看 打开rows选单-update properties-Allow updates挑对勾!-upateable columns 选中要可以提交更新保存的字段随后点击ok保存配置 即可
RETRIEVE就是从所连接的数据库里根据数据窗口的语法提取数据。\x0d\用法是:首先把数据窗口和数据库连接,在窗口的open或者数据窗口的constructor事件中dw_1settransobject(sqlca),连接后,就可以写dw_1retrieve()\x0d\还可以进行有参数的查询,需要在数据窗口设置参数,然后dw_1retrieve(参数1,参数2)\x0d\参数顺序和类型与数据窗口必须对应。\x0d\返回值是查询得到的行数
你先建立一个datawindow设置好Updateable Columns 和Unigue Key Columns
且将可以编辑的列的tab order 设置为大于0 的数值(这样才可以编辑)
数据库连接好
然后用
datawindowsetTransobject(sqlca)
datawindowretrieve()
你可以修改查询到的数据
然后保存
datawindowaccepttext()//接受所有修改
if datawindowupdated() =-1 then//保存
rollback;
//提示messagebox('','')
else
commit;
//提示messagebox('','')
如果有不明白欢迎百度HI 继续提问
以上就是关于用pb做系统时,关于数据窗口全部的内容,包括:用pb做系统时,关于数据窗口、pb怎么保存数据窗口中添加的数据,保存到数据库表中!请给详细的思路!和代码参考!重谢、PB里的retrieve函数的用法是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)