PB里的需要更新的窗口不能使用左右连接吗????急

XX_OO_GIRL 2016-09-09 11:34:43
我在一个窗口里使用一个基础表和一个业务表,基础表作为主表连接业务表,更新表为业务表,将数据插入后,更新就报错,说是where子句都是null值,但where子句里的值都是有值的,奇怪的是如果不用左连接,就可以正常更新窗口了,急!
...全文
359 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35298835 2017-07-26
  • 打赏
  • 举报
回复
梦的解析 2017-06-20
  • 打赏
  • 举报
回复
我现在也是遇到这个问题,现在还在找原因中
WorldMobile 2016-09-12
  • 打赏
  • 举报
回复
sql里选择的列一定要有主键列,或者唯一索引列,才能更新,你的一堆null,就没看到一个有值的
XX_OO_GIRL 2016-09-12
  • 打赏
  • 举报
回复
Row changed between retrieve and update.

No changes made to database.

UPDATE pf_ttpg_child SET ZYH = 478192200, pflb = 6, pfxh = 1, pf_date = '2016-09-12', pf_face = 2 WHERE ZYH IS NULL AND pflb IS NULL AND pfxh IS NULL AND pf_date IS NULL AND total IS NULL AND pf_face IS NULL AND pf_xz IS NULL AND pf_hd IS NULL AND pf_afxg IS NULL AND pf_tqycx IS NULL AND pf_kn IS NULL AND hlcs1 IS NULL AND hlcs2 IS NULL AND hlcs3 IS NULL AND hlcs4 IS NULL AND hlcs5 IS NULL AND hlcs6 IS NULL AND hlcs7 IS NULL AND hlcs8 IS NULL AND hlcs9 IS NULL AND hlcs10 IS NULL AND pfr IS NULL AND pfhsz IS NULL AND PF_QT IS NULL AND BY1 IS NULL AND BY2 IS NULL
这个是保存时的提示,明明给他们赋值了啊
WorldMobile 2016-09-12
  • 打赏
  • 举报
回复
和左右连接无关,如果数据窗口用到多个表时,需要在Update属性窗口中选择要更新的表,以及对应的字段 可参考如下链接 http://blog.itpub.net/457330/viewspace-801185/
XX_OO_GIRL 2016-09-12
  • 打赏
  • 举报
回复
好吧,这种方式根本行不通。。。子表没数据,不能用链接了,老老实实写代码了
XX_OO_GIRL 2016-09-12
  • 打赏
  • 举报
回复
引用 4 楼 lzp_lrp 的回复:
sql里选择的列一定要有主键列,或者唯一索引列,才能更新,你的一堆null,就没看到一个有值的

我查询用左连接后主表中有数据,子表里以null填充了数据,我给子表里塞了需要更新的值,但是更新不了。是哪里的问题啊,大哥帮我看一下。如果我不用左连接,直接查询,就查询不到数据,需insert一行,再更新就没有问题
nocry115 2016-09-09
  • 打赏
  • 举报
回复
看看datawindow的Update属性界面: 1、Table to Update是不是选了你的业务表 2、左下角的“更新列”列表里,是不是把业务表的所有字段都选中了,而且一定不要选非更新表的字段 3、右下角更新表的主键选的都是对的吗 另外,你的更新表字段如果定义了非空字段,则必须有值

609

社区成员

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

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