三层中如何为TclinetDataset设置主键? (30分)

  • 主题发起人 主题发起人 HHSH
  • 开始时间 开始时间
H

HHSH

Unregistered / Unconfirmed
GUEST, unregistred user!
原来我没有为表建主键,现在想在客户端来实现。我在TclientDataset的属性中添加了一个索引,但在为该索引的option选项赋值时发现以下问题:
(1)若仅仅ixprimary=true,既不能阻止用户输入空值,也不能阻止输入重复
值。
(2)若ixunique=true,能阻止输入重复值,但不能阻止输入空值。
(3)若ixprimary=true而且ixunique=true,效果同(2)
请问,ixprimary有作用吗?应该怎样设置才能实现主键的作用?
 
primary key(字段)
在表中设吧
 
最好在表中设,如果表中的数据本身不需要主键,那就在表中加个自增字段算了。
 
在服务器端的数据集(TQuery)中,每个字段都提供了ProviderFlags这个属性集
把其中的pfInKey设置为True就指定该字段为关键字了
 
那客户端呢?在tclinetdataset上设也行呀。
我现在想在客户端设。
 
我建议你把CLIENTDATASET修改一下,增加一个属性专门设置表的主键, 这里当你每APPLYUPDATES
时,从那个属性值里读出字段名做检查,这样的话就不管你的表里是什么样的,他都能灵活控制
 
TO 无忧鱼:
现在有个组合属性option中不就有设主键的吗?请看楼顶的贴子。只不过是我对此有疑问
 
何不用clientdataset的commandtext属性, 设置为创建索引的sql 语句,然后执行就可以了!
 
越说越麻烦了,呵呵。难道大家都没用过clientdataset的这个属性吗?很常用的。
只是想听听别人的使用经验,不想再用其他方法。
 
先为clientdataset加上固定字段,设置主建字段的ProviderFlags舌上pfInKey
 

Similar threads

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