新手提问! 如何判断编号是否在表中已存在
有一个TEdit的输入框,让用户输入新编号后,存入数据库表中. 想达到如下效果:
如果输入的编号在数据库表中已经存在,则提示用户换一个编号.
请问这个过程该怎么写啊?
问题点数:10、回复次数:9Top
1 楼xiaoxiao197821(你的笑对我很重要)回复于 2004-09-04 09:22:10 得分 0
设成主键,或者到数据库查一边Top
2 楼yitian7993(yitian7993)回复于 2004-09-04 09:25:34 得分 0
已经设置成主键了. 如何查一边? 具体怎么写啊?Top
3 楼xin125()回复于 2004-09-04 09:27:02 得分 0
对啊,一般编号都设为主关键字,可以让他输入时自动生成下一个的Top
4 楼xin125()回复于 2004-09-04 09:28:47 得分 0
我想发贴,怎么不能发,是不是我分数不够啊
我不懂诶Top
5 楼vavyboyleon(一天到晚加班的驴)回复于 2004-09-04 09:29:09 得分 0
你自己都说了,你可以先查一下这个编号是不是存在啊,有就换Top
6 楼xin125()回复于 2004-09-04 09:32:26 得分 0
我想发贴,怎么不能发,是不是我分数不够啊
我不懂诶Top
7 楼yitian7993(yitian7993)回复于 2004-09-04 09:34:50 得分 0
vavyboyleon(一天到晚加班的驴)
怎么查?代码怎么写?Top
8 楼insert2003(高级打字员)回复于 2004-09-04 09:42:04 得分 10
cNo为你的编号:
一:通过SQL查找
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from d_User where cNo = '''+trim(edit1.Text)+'''');
Open;
end;
if ADOQuery1.RecordCount > 0 then
begin
Application.messagebox('此编号已存在,请重新输入!','系统提示',MB_Ok+MB_IconInformation+MB_ApplModal);
edit1.SetFocus;
exit;
end;
二:通过Locate艘索
ADOTable1.First;
if ADOTable1.Locate('cNo',trim(edit1.Text),[loCaseInsensitive]) then
begin
Application.messagebox('已存在此编号,不能重复,请重新输入','系统提示',MB_Ok+MB_IconInformation+MB_ApplModal);
edit1.SetFocus;
exit;
end;
我想发贴,怎么不能发,是不是我分数不够啊
我不懂诶
===============================
点击某一小类,如:VCL组件开发及应用 ,网页右上角有 提问 字样,单击Top
9 楼yitian7993(yitian7993)回复于 2004-09-04 09:49:57 得分 0
谢谢insert2003(高级打字员) .结了.Top




