如何获取自动新增的id?

xiaoyehua 2010-08-31 10:36:59
主表和从表
原来是步骤一、主表先新增,然后保存得个自动id。
步骤二、在某条主表的基础上新增从表的记录,将id作为从表的pid,保存。

现在客户希望实现个《全部拷贝》的功能,即点一个按钮,就能拷贝某条主表的记录,和主表关联下的所有从表的记录。

我主表的id是MS SQL的子增长的,请问这个如何获取?
我尝试过先update主表dw,然后马上用getitemnumber。是无法获取到的。所以接下来想再update从表也失败了。

谢谢大家,麻烦请告知相关解决办法,谢谢了。
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yingmu 2010-08-31
  • 打赏
  • 举报
回复
自增的列值数据窗口对象怎么会取不到?这可是PB赖以生存的东西啊。
在设置数据窗口对象的update属性时,有一个下拉框(应该是在最底下),把自增列选上,然后在数据窗口update成功以后,直接getitem这一列的值就取到了啊。当然,如果update失败而又想继续重新update,在重新update之前需要手动把这一列值置为空(数据窗口本行重新插入等),不然下次getitem取得的值还是上次update时生成的值(可能会这样,因为我没底过update会失败)。
xiaotubie 2010-08-31
  • 打赏
  • 举报
回复
用sql语句取id,where 条件就是某些不发生重复的特征,时间啦,联合主键啦。
builderwfy 2010-08-31
  • 打赏
  • 举报
回复
自动id如果是在SQL裏設置自動增長,我想應該要用SQL取昨數據庫裏的,在DW裏應該是不行的
xiaoyehua 2010-08-31
  • 打赏
  • 举报
回复
非常感谢3楼,

因为当前测试的窗口是个父窗口,所以才用了dw,而不是用sql的方式。

我用了rowscopy的方式,结果把id也赋值过去覆盖了

setnull(id)

再setitem(dw.getrow(),'id',id)之后再保存就可以马上显示了。

1,075

社区成员

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

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