社区
DataWindow
帖子详情
解决此问题,给100分,马上结贴~
Daniel22_cn
2005-09-19 11:12:36
PB 7.0 + MS SQL2000
数据库中有一个表,表中一个字段为自增字段,设置为了主键,用Datawindow去Update.
更新成功后,我如何知道这个字增变量是多少?
...全文
419
23
打赏
收藏
解决此问题,给100分,马上结贴~
PB 7.0 + MS SQL2000 数据库中有一个表,表中一个字段为自增字段,设置为了主键,用Datawindow去Update. 更新成功后,我如何知道这个字增变量是多少?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Daniel22_cn
2005-11-29
打赏
举报
回复
我确实遇到了这个问题。
我们把表自增变量作为了主键,并且需要更新之后的此值关联另外一张表。
你可以说这是设计上的问题,但是事实就是这样。
再楼上的一位,你说的有点道理,就是使用GetItem就会得到,我们现在的现实情况是,大部分机器上能够得到这个值,但是有些却不能。这个时候,你甚至会怀疑是否是PB坏了。因为重新安装PB就能取到。
所以,我想换种方法,比较稳定的,能够让人放心的方法。
这段时间出差了,没来看。但我一直关注着这个帖子的发展情况。
雄关漫道真如铁,
2005-11-25
打赏
举报
回复
这是没有意义的问题.通常如果用自动增值的列作为主键,那么是不会关心它update后得到的值是什么的. 通常用的是另外的关键词去检索. 比如我做一个修改LOG,用的是自动增量的列名,但我不会管它是什么,我用的检索参数是文档编号.当然一个文档编号可能有N多个记录,那么谁会去关心那个serialno是什么呢?
njz168
2005-11-23
打赏
举报
回复
如果是用数据窗口来update那实在是很简单,你update成功之后,自增字段,自然会显示在数据窗口中。你用getitem就能得到。
所以,建议用数据窗口的update来insert,不但减少了代码量,而且,一切都方便多了,不是么?
老奀
2005-11-20
打赏
举报
回复
同意 任由风吹的方法
cbz0660
2005-11-02
打赏
举报
回复
哈哈﹐學習ing﹐頂一下﹐要是你的數據太多了的話就用retrieve()吧﹐或是count(*)一下表的記錄﹐不過這樣也不准確﹐要是你在程序中執行了delete的話你的這個記錄就不准備
a109788522
2005-11-01
打赏
举报
回复
你可以判断这个表当中的最大记录数的个数,那么这个数就是自增量的当前值
robert126
2005-09-29
打赏
举报
回复
同意retrieve 的观点(这是在小的数据库中的做法,要是纪录太长的话,是不现实的),建议使用设置,identity key 的做法
handi
2005-09-29
打赏
举报
回复
Datawindow object里面不是可以设定 identity key 字段的呀。
iwl
2005-09-28
打赏
举报
回复
很简单 ,RETRIEVE一下就可以了
K1933
2005-09-28
打赏
举报
回复
SELECT @@IDENTITY
就可以实现你的问题了。
SELECT TOP 1 @@IDENTITY
INTO :VALUE
FROM xxx
如果你要在PB中调用的话你应该用作成动太SQL语句。
K1933
2005-09-28
打赏
举报
回复
SELECT @@IDENTITY
就可以实现你的问题了。
SELECT TOP 1 @@IDENTITY
INTO :VALUE
FROM xxx
Daniel22_cn
2005-09-28
打赏
举报
回复
继续讨论一下~~
到目前为止,问题没有解决。
章无忌
2005-09-21
打赏
举报
回复
看你的dw的update属性
如果是update-----不变
如果是delete and insert ----等价于先执行delete在执行insert,
那么ID的值应该等于该表该字段的下一个递增值
hillhx
2005-09-21
打赏
举报
回复
如果你是用DW的UPDATE同时新增多条记录,那么你就取不到这个值。
如果你提交的是多条记录,必须用SQL的方法进行新增,才能取到新增加的多个ID
你可以做一个循环,一行一行的新增,写法如下
long ll_newid
insert into table (..)
values(...)
using sqlca;
if sqlca.sqlcode < 0 then
rollback using sqlca;
return
end if
select @@IDENTITY
into :ll_newid
from (select 1)
using sqlca;
commit using sqlca;
用SQL SERVER的 @@IDENTITY全局变量肯定比取MAX对多了
以下是SQL SERVER的帮助
在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值。若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL。若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值。如果此语句激发一个或多个执行产生标识值的插入操作的触发器,则语句执行后立即调用 @@IDENTITY 将返回由触发器产生的最后的标识值。若 INSERT 或 SELECT INTO 语句失败或大容量复制失败,或事务被回滚,则 @@IDENTITY 值不会还原为以前的设置。
mtu207
2005-09-20
打赏
举报
回复
同意1+1的用法
不过,知道这个干吗呢?如果你能update了,这个字段的置就已经知道啦,select一下不就知道?
也许楼主的意思俺莫明白。
wscft
2005-09-20
打赏
举报
回复
同意一楼的思路!
zwfhome1
2005-09-19
打赏
举报
回复
多用户时可以变通一下,加一个机器编号字段,update 之后 SELECT max where id="机器号"
workhand
2005-09-19
打赏
举报
回复
自动增长列不要设为主键。应该只是其他表做关联是得外键
li_d_s
2005-09-19
打赏
举报
回复
这个不好办。如果只是单机程序操作,还可以update之后select max,如果是多用户的,最好是自己分配编号
lovelihp
2005-09-19
打赏
举报
回复
ing
加载更多回复(3)
结贴
之后就再没人理我了
在这里发过两个求助贴,两次
结贴
后都又追问了
问题
。但是让我不解的是,为什么
结贴
之后的
问题
就再没人回我了? 原来论坛的每个版块的文章都会自动
分
类,区别待
解决
的,已
结贴
的,精华贴等贴子的不同属性。默认的
分
类是“待
解决
”。当我
结贴
之后,帖子进入已
结贴
,当然没人会再去已
结贴
分
类中翻了。
CSDN 的论坛
结贴
顶上,我的一篇文章从头到尾没人出来讲话,还是后来自己找到了答案,要结帐了,不能给
分
自己。无满意结帐还不还
分
,麻烦还烦恼。
http://topic.csdn.net/u/20
100
916/14/a6b4f92f-b2f5-4eb5-ae15-57bed86c47b2.html
csdn给个好的方法来
解决
这种
问题
吧,难道只能等有个人来混水,我给他水
分
?
Linux下找不到 _finddata_t,坐等
结贴
(Linux区也发了贴,
解决
问题
了去那边回复一下,同样给
分
)
如何
解决
_finddata_t找不到的
问题
呢? 网上说 #include 就可以使用_finddata_t, 但是我引入后,却提示找不到io.h,于是百度,然后将/usr/include/sys下的一个io.h拷贝到 /usr/include 终于找到了,然是依然提示_finddata_t找不到? 看了一下,那个io.h中的确没有_finddata_t的定义。 求帮助. 还有,比如
Zend Optimizer 487错误 (
问题
解决
-
结贴
)
昨天上服务器看了下 发现Zend Optimizer报错~~ 事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到。本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息。您可能可以使用 /AUXSOURCE= 标识来检索词描述;查看帮助和支持以了解详细信息。下列信息是事件的一部
分
: Unable to view file mapping
oracle 如何添加百
分
号,给数据批量添加百
分
号,这3种方法,我就不信你全都会...
私信回复关键词【工具】,获取Excel高效小工具合集!让你的Excel效率开挂~百
分
号怎么加?居然有人会问这种
问题
,我会信?不是真有同学来问,我还真是不信的。(聊天就不截图了,毕竟出来混,都要点面子~)。。。(好吧,是我忘记截图了。。。)给数据批量添加百
分
号,这3种方法,我就不信你全都会今天我们就来看看,如何给数据加百
分
号!给数据批量添加百
分
号,这3种方法,我就不信你全都会加百
分
号,应该大家都会觉...
DataWindow
609
社区成员
20,469
社区内容
发帖
与我相关
我的任务
DataWindow
PowerBuilder DataWindow
复制链接
扫一扫
分享
社区描述
PowerBuilder DataWindow
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章