我想根据用户输入的编号来判定,如果数据库中有这条记录则对这条记录的有些字段进行操作,如果没有则打开一个新的窗口,让用户录入详细资料。问:
怎样才能得到根据用户输入的编号来判定数据库中有没有这条记录这返回值?adoquery1.sql.clear;
adoquery1.sql.Text:='select count(*) from numcount where hgnum='trim(edit1.text);
adoquery1.open;
if adoquery1.RecordCount>0 then
ladel1.caption:=inttostr(adoquery1.Count);
else
showmessage('没有满足条件的记录');
end;可是这样没有记录时就出错呀?谁有好一点的办法?
怎样才能得到根据用户输入的编号来判定数据库中有没有这条记录这返回值?adoquery1.sql.clear;
adoquery1.sql.Text:='select count(*) from numcount where hgnum='trim(edit1.text);
adoquery1.open;
if adoquery1.RecordCount>0 then
ladel1.caption:=inttostr(adoquery1.Count);
else
showmessage('没有满足条件的记录');
end;可是这样没有记录时就出错呀?谁有好一点的办法?
解决方案 »
- delphi CS转BS,是学PHP/ASP/JSP或者直接用intraweb求高手给建议
- 为什么我的IP地址获取不到呢?
- 关于MySQL的问题?
- 请大家帮忙,trim时遇到的问题,不胜感激~~~~~~~~~~~
- 如何将目录下的的文件完全路径加文件名生成一个文件?
- 郁闷中,不知道怎么选择自己的路
- NT服务问题?(急)
- 版主留情:問下 .ram格式的文件用甚麼播放?(在線等結貼)
- 关于CreateOleObject()的问题,在线等待!
- 我用了一个listbox框,我想在代码中模拟鼠标点击,比如点击第二项!应该怎么做!
- 请教astaclientsocket,nmsmtp的具体用法(高分)
- 请教astaclientsocket,nmsmnp的具体用法(高分)
showmessage('有满足条件的记录');
else
showmessage('没有满足条件的记录');
end;
对应数据库内部字段是整数类型,例如Code,那么可以这样进行
with ADOQuery1 do
begin
Close;
SQL.Text:='Select * From SomeTable Where SomeField='+Trim(IntToStr(StrToInt(Edit1.Text))); //SomeTable为你的表名,SomeField为你的字段名
Open;
if RecordCount>0 then
ShowMessage('找到符合要求的记录'); //其他相关操作加在这里
else
ShowMessage('没有找到符合要求的记录'); //出现新窗口,添加新数据等操作
end;
...
if adoquery1.Fields[0].value = 1 then
showmessage('有满足条件的记录');
else
showmessage('没有满足条件的记录');
end;
...
这个错什么意思?
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('select * from numcount');
ADOQuery1.ExecSQL;
ADOQuery1.Open ;
ADOQuery1.First;
if DM_client.ADOQuery1.Locate('hgnum','trim(edit1.text),[locaseinsensitive]) then
ladel1.caption:=inttostr(adoquery1.Count)
else
begin
showmessage('没有满足条件的记录');
end;
1.记录集为NULL,要不你的表中没有记录,你要进行处理的,你加上ADOQuery1.First;试试。2.可能你数据库大,连接超时,你可以把ADOConnection1的连接时间设置大一点,
如:ADOConnection1.CommandTimeout:=35;