clenntdataset 主键保存问题(100分)

  • 主题发起人 主题发起人 caolg
  • 开始时间 开始时间
C

caolg

Unregistered / Unconfirmed
GUEST, unregistred user!
clientdataset 数据中有id,no,name 其中id为主键,自动增加,
在数据感知控件dbgrid中增加一条记录时,不能post,怎么解决?
 
不要增加id,只输入no、name
 
就是没有输入id时候,就报错啊“Field‘id’ must have a value”
 
那就不要把id设为自增长的,然后新增一个sequence,新增的时候用ID.Nextval
 
我将id不列出来,就可以post,
请教一个问题,如果是主从表的话,主表新增一条记录后,怎么保证从表中外键对应主表id
 
beforeinsert 中 写
DataSet.FiledByName('ID').Value := 主表.FiledByName('ID').Value
就可以了
 
谢谢,如果主表也新增呢,id怎么解决
 
如果用 ADOQuery + DataSetProvider + ClientDataSet的方式的话
那么在
DataSetProvier.BeforeUpdate事件中写
Delta.FieldByName('ID').ProviderFlag := [pfInWhere, pfInKey];
这样就可以了。
 
3层中用clientdataset更新的话,设自增字段是等死,设默认值是找死
 
不要使用自动增加
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部