adoquery的查询语句为
select aa.bh,aa.mc,aa.dw,aa.ggxh,(select sum(cc.sl) from JW_库存详细 cc where aa.bh=cc.wz) as kcsl,aa.kf from JP_物资 aa where aa.jm like :searchbh or aa.bh like :searchbh or aa.mc like :searchbhdelphi中:
qrykc.Active := False;
qrykc.Parameters.ParamByName('searchbh').Value := '%' + edtwz.Text + '%';
qrykc.Active := True;
会出错提示:
Project JXC.exe raised exception class EOleException with message '不正常地定义参数对象。提供了不一致或不完整的信息。'. Process stopped. Use Step or Run to continue.
如果这样就没问题:
adoquery的查询语句:
select aa.bh,aa.mc,aa.dw,aa.ggxh,(select sum(cc.sl) from JW_库存详细 cc where aa.bh=cc.wz) as kcsl,aa.kf from JP_物资 aa where aa.jm like :searchbh or aa.bh like :searchbh1 or aa.mc like :searchbh2
delphi中:
qrykc.Active := False;
qrykc.Parameters.ParamByName('searchbh').Value := '%' + edtwz.Text + '%';
qrykc.Parameters.ParamByName('searchbh1').Value := '%' + edtwz.Text + '%';
qrykc.Parameters.ParamByName('searchbh2').Value := '%' + edtwz.Text + '%';
qrykc.Active := True;只能这样吗?我传递的参数值都相同啊
感觉好笨啊,应该有好的方法吧
select aa.bh,aa.mc,aa.dw,aa.ggxh,(select sum(cc.sl) from JW_库存详细 cc where aa.bh=cc.wz) as kcsl,aa.kf from JP_物资 aa where aa.jm like :searchbh or aa.bh like :searchbh or aa.mc like :searchbhdelphi中:
qrykc.Active := False;
qrykc.Parameters.ParamByName('searchbh').Value := '%' + edtwz.Text + '%';
qrykc.Active := True;
会出错提示:
Project JXC.exe raised exception class EOleException with message '不正常地定义参数对象。提供了不一致或不完整的信息。'. Process stopped. Use Step or Run to continue.
如果这样就没问题:
adoquery的查询语句:
select aa.bh,aa.mc,aa.dw,aa.ggxh,(select sum(cc.sl) from JW_库存详细 cc where aa.bh=cc.wz) as kcsl,aa.kf from JP_物资 aa where aa.jm like :searchbh or aa.bh like :searchbh1 or aa.mc like :searchbh2
delphi中:
qrykc.Active := False;
qrykc.Parameters.ParamByName('searchbh').Value := '%' + edtwz.Text + '%';
qrykc.Parameters.ParamByName('searchbh1').Value := '%' + edtwz.Text + '%';
qrykc.Parameters.ParamByName('searchbh2').Value := '%' + edtwz.Text + '%';
qrykc.Active := True;只能这样吗?我传递的参数值都相同啊
感觉好笨啊,应该有好的方法吧
s:string;
begin
s:='11';
self.ADOQuery1.Close;
self.ADOQuery1.SQL.Clear;
self.ADOQuery1.SQL.Add( 'select * from 表2 where bb like :cc or dd like :cc' );
self.ADOQuery1.Parameters.ParamByName( 'cc' ).Value:='%'+s+'%';
self.ADOQuery1.Open;
end;
我这么做为什么会报错?我是直接在adoquery的sql属性里写的sql语句
难道动态添加就不会出错?
qrykc.Active := False;
qrykc.Parameters.ParamByName('searchbh').Value := format('''%%%s%%''',[edtwz.Text]);
qrykc.Active := True;
我想知道这样为什么会出错,是我的语法写的有问题吗?
为什么回答的都这么简单,能不能用文字描述一下
--------------------------------------------------------------
adoquery的查询语句为
select aa.bh,aa.mc,aa.dw,aa.ggxh,(select sum(cc.sl) from JW_库存详细 cc where aa.bh=cc.wz) as kcsl,aa.kf from JP_物资 aa where aa.jm like :searchbh or aa.bh like :searchbh or aa.mc like :searchbhdelphi中:
qrykc.Active := False;
qrykc.Parameters.ParamByName('searchbh').Value := '%' + edtwz.Text + '%';
qrykc.Active := True;
会出错提示:
Project JXC.exe raised exception class EOleException with message '不正常地定义参数对象。提供了不一致或不完整的信息。'. Process stopped. Use Step or Run to continue.