delphi中如何判断DBGrid中的同一列的值相同?

比如第一行第三列和第二行第三列的值相同时让系统弹出对话框提示下不能插入重复记录... 比如第一行第三列 和第二行第三列的值相同时 让系统弹出对话框提示下不能插入重复记录 展开
 我来答
kantleee
2011-06-11 · TA获得超过2216个赞
知道小有建树答主
回答量:741
采纳率:50%
帮助的人:527万
展开全部
一般这种做法是插入记录前对数据库的记录进行判断,如果有则报警,没有则插入:
举个例子:
比如你的数据表名为:AA,表里面第三列的字段名为:BB,窗体上你放入一个Edit控件用来输入第三字段的内容,那么在插入记录前你就可以写下这样的语句来判断:
if edit1.Text<>'' then //edit控件不为空的时候
begin
ADOQuery1.Close; //一般情况下要先关闭
ADOQuery1.SQL.Clear; //清除之前的查询内容
ADOQuery1.SQL.Add('select * from AA where BB='''+edit1.Text+''''); //查询数据表中BB字段中有没有与Edit里输入内容相同的记录
ADOQuery1.Open;

if ADOQuery1.RecordCount>0 then //假如有记录则提示
begin
Application.MessageBox('数据库中已有此记录!', '警告', MB_OK);

end;
end;
半梦的看书亼
2011-06-09 · TA获得超过464个赞
知道小有建树答主
回答量:523
采纳率:0%
帮助的人:321万
展开全部
1. 设置数据库时 该字段 为不可重复,或为主键

2. Update Insert 之前执行一次查询
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b22d6da
2011-06-09 · 超过25用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:68.8万
展开全部
每条记录插入表里之前,先判断。例如表里列名为 name ,该列要插入的值为 peter ,判断方法为:
sql:='select * from t_table where name='+'''peter'';
查找后,根据 qry.recordcount 等于0还是大于0判断是否有重复记录。有的话弹出提示框
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HJ_3000
2011-06-09 · TA获得超过563个赞
知道小有建树答主
回答量:1264
采纳率:78%
帮助的人:56.8万
展开全部
提交前,从数据库中判断即可。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式