一个与ADOQuery相联的DataGrid,如何防止新增某些字段值重复的行?(30分)

  • 主题发起人 主题发起人 ynduanlian
  • 开始时间 开始时间
Y

ynduanlian

Unregistered / Unconfirmed
GUEST, unregistred user!
比如说我用了一个DataGrid,通过ADOQuery与表Student相联,
student表(ID,Name),另外使用了DBNavigate来实现新增、删除等操作,那么,当Student 表中已有Name=“李大嘴”时,如何在程序中限制不能再新增Name=“李大嘴”的纪录?
我用的是ACCESS数据库,而且这个Name在另一个字段,比如说班级ID不同时,是可以重的,所以我不想,也不可能从数据库级限制这个Name为唯一值。
 
1)在DBGrid的ColEnter事件中激活ADOQuery查询数据库中是否已存在输入的记录即可
2)可以试试将主键设为 name和班级ID的组合
 
在ACCESS中好象没办法把两个字段(的联合)设为主键
 
可不可以通过在beforepost中进行判断,来取消或禁止post?如查可以,怎么取消或禁止post?
 
在ACCESS中把两个字段全部选中,点那个设置主键的按钮啊[:)]
 
试试用Cancel方法来取消或禁止post[:)]
 
表中设相关主键,另用try..except拦截错误
 
多人接受答案了。
 

Similar threads

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