怎样在insertrow时自动设置值

netmuse 2001-06-02 09:04:00
怎样在insertrow时自动设置值?
如对于工作号id列,每次新建一个,则自动加一。
...全文
131 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingxin 2001-06-08
  • 打赏
  • 举报
回复
TO:liulee(流方)
问题是现在要用的是工号,总不能没有一点实际意义吧,我觉得还是在程序中编写特定的工号生成代码,以后应用在其他地方时,可以很好的移植。
liulee 2001-06-03
  • 打赏
  • 举报
回复

dw_1.modify('col_1.initial=~'Hello~'')

liulee 2001-06-03
  • 打赏
  • 举报
回复

你的问题建议用 autoincreament,indentify或sequence解决。
guxing 2001-06-03
  • 打赏
  • 举报
回复
那还不结贴子呀?
liulee 2001-06-03
  • 打赏
  • 举报
回复
其实,这是一个内部的编码,不代表任何意义,作为唯一标记本记录的内部标记,作为主键用。
其他的什么代码啊,名称啊,随便用户了。
liulee 2001-06-03
  • 打赏
  • 举报
回复

所以我喜欢用oracle 中的sequence来处理,很方便,什么烦恼也没有了。

这一点,我就不放弃oracle.

你可以看看这篇关于Oracle序列号的文章:
http://liulee.myrice.com/scodes/scripts_015.htm

xingxin 2001-06-03
  • 打赏
  • 举报
回复
这个问题还是有点复杂的,有多种情况考虑:
1、新建工号 1:100,2:101,没有保存时删除了100,再建第3新工号,
那么用户需求时要:1 2 3
1.1 100 101 重新排序
1.2 101 102 不考虑,直接+1
1.3 101 100 将新员工插入到空白地工号中
2、是不是会存在2个连接同时操作,增加新工号?
一般说来,第二种情况不会出现,那么我们考虑第1中情况,当然最好时用户无所谓了
那样地话,我个人认为还是1.1的做法比较好,至于具体的代码,我想实现的方法很多,
但是 liulee(流方) 的自增量列不是一个好方法,因为这种字段通常不代表什么意义
而且我遇到过存储数据数据出现这样的情况:1,2.....100,100001,100002,...
这样总不太好吧!!当时用的数据库时 sybase sqlserver for sco openserver11.0x

具体代码自己考虑一下,在datawindow的Itemchanged事件,和Updata()时编写
atuzai 2001-06-03
  • 打赏
  • 举报
回复
同意斑竹
netmuse 2001-06-02
  • 打赏
  • 举报
回复
这也是一个好方法。
guxing 2001-06-02
  • 打赏
  • 举报
回复
你可以对其排倒序,在INSERT前写
string ls_id
ls_id=dw_1.getitemstring(1,"id")
insertrow(1)
ls_id=string(integer(ls_id)+1)
dw_1.setitem(1,"id",ls_id)
不过你要补0 就要再写点代码呀
netmuse 2001-06-02
  • 打赏
  • 举报
回复
那么怎么用script呢?
Methodor 2001-06-02
  • 打赏
  • 举报
回复
1、DBMS实现~~
2、Script实现~~
netmuse 2001-06-02
  • 打赏
  • 举报
回复

1,079

社区成员

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

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