delphi 如何判断adoquery查询后的结果是否为空?

我用树形显示产品,item为产品名称,subitem为此产品编号,型号,产地。所有item来源是sqlserver数据库里的表。所以用adoquery。我还有一个增加按钮... 我用树形显示产品,item为产品名称,subitem为此产品编号,型号,产地。所有item来源是sql server数据库里的表。所以用adoquery。我还有一个增加按钮,4个edit框,可以在客户端上填写相对应的edit来增加产品及其相关编号,型号,产地等信息,最后点击保存按钮保存。但是此时问题来了:如果用户新增产品时,此产品已存在,那么我就需要提醒用户此产品已存在。我想用以下语句实现判断。
with adoquery2 do
begin
close;
sql.clear;
sql.add('select plu,name,style,chandi from dbo.Tproduct ');
sql.add(' where plu = '''+ edit1.text(此框为编号输入框)+ '''');
open;
end;
我想通过以上语句,将用户要添加的产品的编号在数据库里搜索,如果产品已存在,则上述查询语句结果必不为空,那么我提示:‘此产品已存在’,如果为空,则说明此编号在数据库中并不存在,则为新产品,可以添加。
现在,我的问题就是:以用户输入的产品编号为条件在sql server数据库中查询后,如何判断adoquery查询的结果是否为空?
各位最好说的详细些,我是自学新手,很多都不知道。各位最好顺便说一下adoquery中的parameters何parambyname()什么意思。我对他们的用法模棱两可。
展开
 我来答
萌西哒
推荐于2018-05-17 · TA获得超过536个赞
知道小有建树答主
回答量:527
采纳率:0%
帮助的人:230万
展开全部
1、使用adoquery2.IsEmpty判断是否为空
或者使用if adoquery2.RecordCount>0 then
if not(adoquery2.IsEmpty) then
begin
ShowMessage("此产品已存在");
exit;
end;
2、 SQL语句中引入参数之后,在执行SQL语句之前就必须给参数赋值。如何赋值呢?这就要用到ADOQuery组件的Parameters属性。该属性是一个下标从0开始的数组:
Parameters[0]、Parameters[1]、Parameters[2]、…、
其中的每个数组元素与ADOQuery组件的SQL语句中的参数相对应,例如要给SQL语句中的第一个参数赋值,可以执行如下语句:

ADOQuery1.Parameters[0].Value:=<参数值>

要给SQL语句中的第二个参数赋值,可以执行如下语句:

ADOQuery1.Parameters[1].Value:=<参数值>

以此类推 …

除了用Parameters[0].Value 、Parameters[1].Value 等来给SQL语句中的参数赋值外,还可以使用如下语句:

Parameters.ParamByName(<参数名>).Value:=<参数值>

来给参数赋值。例如,例Parameters[0].Value:=edit1.Text;可以改为:

Parameters.ParamByName(‘XianShi’).Value:=edit1.Text;

很明显,后一种方式比前一种更直观一些。

SQL命令中带有多个参数的情形

SQL命令中可以带有多个参数,例如:某个Query组件,为它编写如下的动态SQL语句:

Insert Into Customer(CustNo,Name,Country) Values(:CustNo ,:Name ,:Country)

对于上述这条动态SQL语句中的三个参数,可以利用Query的Params属性为参数赋值:

Query.Params[0].AsString:=”1998” ;

Query.Params[1].AsString:=”AAA” ;

Query.Params[2].AsString:=”China”;

上述语句将把“1998”赋给参数CustNo,“AAA”赋给参数Name,“China”赋给参数Country。
壬瑜qD
2010-07-24 · TA获得超过295个赞
知道小有建树答主
回答量:477
采纳率:0%
帮助的人:320万
展开全部
通过adoquery2.RecordCount是否为0可以判断有没有查到想要的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
saka24703193
2010-07-24
知道答主
回答量:4
采纳率:0%
帮助的人:6886
展开全部
加上一句判断
if not ADOQuery.IsEmpty then
//不是空
else
//是空
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式