delphi SQL2008 R2 数据库不为空,但查询为空
delphi7.0与SQL2008数据库ADOConnection1连接正常,ADOQuery1查询为空,请叫是为什么?procedureTForm1.Button1Cl...
delphi7.0与SQL2008数据库ADOConnection1连接正常,ADOQuery1查询为空,请叫是为什么?
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.ADOQuery1.Close;
form1.ADOQuery1.Active:=false;
form1.ADOQuery1.SQL.Clear;
form1.ADOQuery1.SQL.Add('select * form HistoryReport');
form1.ADOQuery1.Prepared;
if not(adoquery1.IsEmpty) then
begin
ShowMessage('数据库不为空');
form1.ADOQuery1.open;
end
else
begin
ShowMessage('数据库为空');
end;
end; 展开
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.ADOQuery1.Close;
form1.ADOQuery1.Active:=false;
form1.ADOQuery1.SQL.Clear;
form1.ADOQuery1.SQL.Add('select * form HistoryReport');
form1.ADOQuery1.Prepared;
if not(adoquery1.IsEmpty) then
begin
ShowMessage('数据库不为空');
form1.ADOQuery1.open;
end
else
begin
ShowMessage('数据库为空');
end;
end; 展开
1个回答
展开全部
或者使用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。
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。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询