协调多数据窗口数据操纵的一种解决方法

nbfx 2003-08-18 10:51:31
2、协调多数据窗口数据操纵的一种解决方法
基本思路是:在进行数据操纵的数据窗口控件之外,另外放置一个数据窗口控件,设置其不可见,并设其数据窗口对象为一个选择了数据表中所有列的数据窗口,其他数据窗口控件中录入或修改的数据实时地传送过来,对该控件的数据进行更新操作即可。
不失一般性,下面以POWERBUILDER自带数据库psDemoDB.db中的customer表的数据录入为例来说明。
Customer表有"id","fname","lname","address","city","state","zip","phone","company"九个列,其中"id"为integer类型,其余均为char类型。
(1)创建数据窗口
建立三个数据窗口d_1、d_2、d_3,数据窗口d_1选"id","fname","lname"三列,d_2中选"address","city","state"三列,d_3选"zip",""phone","company_name"三列。再建立数据窗口d_4,选中数据表中的所有列。
(2)建TAB控件和TAB页
建立一个TAB控件tab_1,建立三个TAB页tabpage_1、tabpage_2、tabpage_3。
(3)建数据窗口控件
在(2)中建的三个TAB页中分别放置dw_1、dw_2、dw_3三个数据窗口控件,设其数据窗口对象分别为d_1、d_2、d_3。


但是在保存数据时显示
SQLSTATE = 23000
[Sybase][ODBC Driver]Integrity constraint violation: primary key for row in table 'customer' is referenced in another table

No changes made to database.

DELETE FROM "customer" WHERE "id" = ? AND "fname" = ? AND "lname" = ? AND "address" = ? AND "city" = ? AND "state" = ? AND "zip" = ? AND "phone" = ? AND "company_name" = ? 不知何因 如何解决?请高手赐教
...全文
44 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
leaf_cq 2003-08-18
  • 打赏
  • 举报
回复
根据错误信息显示,customer表的主键是另一个表的外键,而且

你当前所删除的记录的主键已经为那个表所使用,必须显删除那

个表中有关此主键的记录才能删除这条记录。
runsoft 2003-08-18
  • 打赏
  • 举报
回复
这样创建数据窗口应该不行,因为没有主键值,肯定是不能保存的.
nbfx 2003-08-18
  • 打赏
  • 举报
回复
up

1,075

社区成员

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

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