有没有真正的答案(100分)

  • 主题发起人 主题发起人 盲人的眼神
  • 开始时间 开始时间

盲人的眼神

Unregistered / Unconfirmed
GUEST, unregistred user!
我用insertrecord([])向SQL里添加数据,但是SQL里的那个表有一个字段是ID,自动编号的,
我用insertrecord([nil,..])的时候提示ID不能为空的错误
我用insertrecord([1,...])的时候提示说set database identity_insert off
有没有人能告诉我用Ttable怎样做?

 
只有看的,没有答的?
 
不要管你的ID字段就行了,选择的时候也不要把它选择出来。
 
换成:
DataSet.Append;
DataSet.FieldByName('..').Value:=...;
 
不管他是肯定不行,那后面的字段类型就会不符合
 
insert不行,append难道就可以了吗?
 
应该可以啊!
我是用append做的!
 
insertrecord([,....])ID就用个逗号给略过吧,
不要添加ID了。试试看。
 
就是不管自增字段,如下面:
Table.append;
Table.fieldbyname('非自增字段1').value:='';
Table.fieldbyname('非自增字段2').value:='';
......
table.post;
 
我也觉得:不用管id
table.append;
table.findfields('其他字段').asstring:='';
 
用,号略过肯定错,有语法错误嘛
 
用NUll就不会错,试过可以的。
 
其实大家已经说得很明白了。举个例子:
TableA有两个字段(ID,MyField).其中ID为自动编号字段,现要向TableA中插入一条记录。该SQL语句如下:
Insert into TableA(MyField) Values('Test');
^
即在此处忽略自动编号字段 ,在Values关键字后列出与字段列表相应的值。
 
用法就是当自动编号字段不存在,就可以了。没有问题。
 
后退
顶部