clenntdataset 主键保存问题(100分)

C

caolg

Unregistered / Unconfirmed
GUEST, unregistred user!
clientdataset 数据中有id,no,name 其中id为主键,自动增加,
在数据感知控件dbgrid中增加一条记录时,不能post,怎么解决?
 
S

szhcracker

Unregistered / Unconfirmed
GUEST, unregistred user!
不要增加id,只输入no、name
 
C

caolg

Unregistered / Unconfirmed
GUEST, unregistred user!
就是没有输入id时候,就报错啊“Field‘id’ must have a value”
 
S

szhcracker

Unregistered / Unconfirmed
GUEST, unregistred user!
那就不要把id设为自增长的,然后新增一个sequence,新增的时候用ID.Nextval
 
C

caolg

Unregistered / Unconfirmed
GUEST, unregistred user!
我将id不列出来,就可以post,
请教一个问题,如果是主从表的话,主表新增一条记录后,怎么保证从表中外键对应主表id
 
L

levi

Unregistered / Unconfirmed
GUEST, unregistred user!
beforeinsert 中 写
DataSet.FiledByName('ID').Value := 主表.FiledByName('ID').Value
就可以了
 
C

caolg

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢,如果主表也新增呢,id怎么解决
 
L

levi

Unregistered / Unconfirmed
GUEST, unregistred user!
如果用 ADOQuery + DataSetProvider + ClientDataSet的方式的话
那么在
DataSetProvier.BeforeUpdate事件中写
Delta.FieldByName('ID').ProviderFlag := [pfInWhere, pfInKey];
这样就可以了。
 

轻舞肥羊

Unregistered / Unconfirmed
GUEST, unregistred user!
3层中用clientdataset更新的话,设自增字段是等死,设默认值是找死
 
B

bsense

Unregistered / Unconfirmed
GUEST, unregistred user!
不要使用自动增加
 
C

caolg

Unregistered / Unconfirmed
GUEST, unregistred user!
多人接受答案了。
 

Similar threads

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