datawindow简单问题,求助!

lanshantutu 2003-09-13 05:25:36
数据库中的表如下:
ID varchar 10
NAME varchar 20
DATA varchar 20

然后,我做好了数据窗口,脚本如下:
SELECT PARAM.ID,
PARAM.NAME,
PARAM.DATA,
FROM PARAM
WHERE ( PARAM.ID is not null ) AND
( PARAM.DATA is not null )

数据窗口放在窗口里,运行,点击“添加”(添加记录),点击“保存”(保存记录),结果,就报错“The column param_id in table MOBILE_PARAM does not allow null values.No changes made to database.
INSERT INTO MOBILE_PARAM ( param_type, param_data, param_remark ) VALUES ( '0', 'o999', '999' )”
这样的错是不是因为我的ID为空,我希望我的id可以根据添加记录而每次加1,"1,2,3,4..."
该怎么做啊?初学者求助,多谢!
...全文
31 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljl_7880 2003-09-15
  • 打赏
  • 举报
回复
然后出入数据的时候,不用管ID,这一项,直接写入别的数据,ID会自动加一
ljl_7880 2003-09-15
  • 打赏
  • 举报
回复
ALTER TABLE PARAM drop primary key;
ALTER TABLE PARAM modify id integer NOT NULL DEFAULT autoincrement;
ALTER TABLE PARAM add primary key (id);
workhand 2003-09-15
  • 打赏
  • 举报
回复
string ls_max_id,ls_add_id
select max(id)
into :ls_max_id
from PARAM;//加分号啊

ls_add_id=string(long(ls_max_id)+1)
如果id是数值型的话转换一下阿
lanshantutu 2003-09-15
  • 打赏
  • 举报
回复
string ls_max_id,ls_add_id
select max(id)
into :ls_max_id
from PARAM

ls_add_id=string(long(ls_max_id)+1)

-------------------------------------
照以上的写法,会报错“syntax error”
chinesegump 2003-09-13
  • 打赏
  • 举报
回复
string ls_max_id,ls_add_id
select max(id)
into :ls_max_id
from PARAM

ls_add_id=string(long(ls_max_id)+1) //此处的ls_add_id即可作为ID写入表中

lanshantutu 2003-09-13
  • 打赏
  • 举报
回复
就是在我运行窗口时,点击“添加”按钮,添加一条新的记录,这时,我希望ID能自动生成,怎么做呢?
letmelogin 2003-09-13
  • 打赏
  • 举报
回复
第一个问题得仔细检查一下你的数据库的各项设置;第二个问题有多种实现方法,不知道你是在什么情况下使用。
lanshantutu 2003-09-13
  • 打赏
  • 举报
回复
请教jdsnhan(柳荫凉)怎么用序列来解决这个问题,我是初学者,什么都不懂,请说的详细一些,多谢!
jdsnhan 2003-09-13
  • 打赏
  • 举报
回复
id自动加1的方法很多,如读最后一行,然后加1。从楼主的本意看,这好象是主建,如果单纯的加1,会引起并发处理,违反唯一性约束条件,你可以用序列来解决这个问题。
lanshantutu 2003-09-13
  • 打赏
  • 举报
回复
我希望我的id可以根据添加记录而每次加1,"1,2,3,4...",就是我每增加一条记录,ID自动加1,该怎么做啊?
kalven_chan 2003-09-13
  • 打赏
  • 举报
回复
是的,就是你的ID为空。
你在数据窗口对象的保存之前,用语句求得这个ID号码,然后保存
lanshantutu 2003-09-13
  • 打赏
  • 举报
回复
update属性设的是allow updates
key and modified columns
use delete then insert
对不对啊
flyerlxg 2003-09-13
  • 打赏
  • 举报
回复
有没有设置update属性呀?在数据窗口对象中点Row菜单,下拉出来进行设置。

609

社区成员

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

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