求助!sql server 种子 自动标识 递增 在delphi中突然不可用??:(,嘴气歪了

yiyizq0260 2002-09-02 04:04:34
hi,各位好:
1.我的程序后台是sql server数据库
2.表中字段id使用了sql server 中的自动递增种子:
id int identity(1,1) constraint pk primary key
3.以前一直好用的,在delphi中不用对id赋值[FieldByName],即可正常post,refresh
4.前天,发现一个bug:修正了一下。
5.今日程序运行后,保存就报错“field 'id' must have a value"

6.各位大虾,如有此方面经验,望不吝赐教!谢谢!
...全文
47 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyizq0260 2002-09-11
  • 打赏
  • 举报
回复
ljhjl(入海流) :
感谢你的提醒!加上这条语句后,终于恢复正常了!wks(mex)的方法我没有用语句试,只在控件中改成了false,就放弃了!
谢谢!非常感谢!
稍后散分!
ljhjl 2002-09-10
  • 打赏
  • 举报
回复
我是用wks(mex)说的方法解决了,可是后来又出现了这个问题,说明跟环境确实有关,重装后就可以了
就是在前面加上 fieldbyname(id).required:=false;
就可以了,yiyizq0260你可以试下。
xqjt 2002-09-09
  • 打赏
  • 举报
回复
改用TQuery试一下,如果还有问题的话,就可能是你的Delphi环境有问题了,把Delphi重新安装一下应该就可以了(没办法中的办法)
井中老男孩 2002-09-05
  • 打赏
  • 举报
回复
在delphi中将ID字段的required设为false,这个值缺省值为真,可能你不小心设为true了,required设为TRUE时这个字段必须不为空这条纪录才能保存,而不管后台数据库是否有缺省值
ljhjl 2002-09-05
  • 打赏
  • 举报
回复
我也碰到了这个问题,急啊!
关注
yiyizq0260 2002-09-05
  • 打赏
  • 举报
回复
to ljhjl(入海流) :
我也忙了快一个星期了,别着急,兴许会有办法的。
yiyizq0260 2002-09-05
  • 打赏
  • 举报
回复
to wks(mex):
不行的,不是这个原因,我从未改过ID字段的Required属性。刚刚把required改了一下,但是不行。
yiyizq0260 2002-09-04
  • 打赏
  • 举报
回复
up
zcbantony 2002-09-03
  • 打赏
  • 举报
回复
你是不是指还原了数据以后呢?
采用导数据的方法,自动递增种子会没有的,需要自己重新修改。
HHBB 2002-09-03
  • 打赏
  • 举报
回复
把应用程序表中的‘ID’字段去掉。
ScoutKing 2002-09-03
  • 打赏
  • 举报
回复
贴点代码来看看
yiyizq0260 2002-09-03
  • 打赏
  • 举报
回复
up->
yiyizq0260 2002-09-03
  • 打赏
  • 举报
回复
问题不是后台,以前生成的EXE文件还依然能用,未报field ID must have a value 错误。不知原因何在?前台错在何处?
我改的时候只是把table控件删了一下,又重新创建了这个控件,但是,问题就这样来了:
对于种子字段ID:
FieldByName('ID').asinteger:=99;//这条语句必须执行,注释掉就报错:"Field 'ID' must have a value",可是加上数据库中又没保存下来。
真让人急得慌,两天没干别的事,就盯着这个看,也没看出任何名堂!
yiyizq0260 2002-09-03
  • 打赏
  • 举报
回复



Table1.append ;
......
with Table1 do
begin

FieldByName('ID').asinteger:=99;//这条语句必须执行,注释掉就报错:
//"Field 'ID' must have a value",可是加上数据库中又没保存??
FieldByName'Message_content').AsString :=Memo_message_content.Text;FieldByName('Message_type').AsString :=comboBox_message_type.Text; FieldByName('Message_key').AsString := edit_message_key.Text;
FieldByName('Message_Source_ID').Asinteger := unit4.userid;
FieldByName('Create_date').AsDateTime:=DateTimePicker1.date; //

post ;
Refresh ;
end ;

table1.enablecontrols;
yiyizq0260 2002-09-02
  • 打赏
  • 举报
回复
up
yiyizq0260 2002-09-02
  • 打赏
  • 举报
回复
up!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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