我想在一个学生信息表中进行多条件查询,在窗体上有一个字段名组合框(Cbozdm)、一个关系符(Cbogxf)组合框和一个字段值组合框(Cbozdz),一个添加条件按钮(ButtonAdd),一个执行sqltj语句的按钮(ButtonRun) 程序中定义了i:integer; ii:integer; sqltj:string; tjz:array[1..20] of string; 每点击一次ButtonAdd,就要完成sqltj的添加。 我是这样做的:
已经完成给i赋值为0
procedure TFrmCxtj.ButtonAddClick(Sender: TObject); begin i:=i+1; if i=1 then sqltj:=cbozdm.Text+cbogxf.Text+':tjz[i]' else sqltj:=sqltj+' AND '+cbozdm.Text+cbogxf.Text+':tjz[i]'; tjz[i]:=cbozdz.Text; end;
完成条件添加后,点击buttonRun procedure TFrmCxtj.ButtonRunClick(Sender: TObject); begin adoquery1.Active :=false; adoquery1.SQL.clear; adoquery1.sql.Add(sqltj); for ii:=1 to i do adoquery1.Parameters.ParamByName('tjz[ii]').Value:=tjz[ii]; adoquery1.Active :=true; end; 运行结果出现如下错误提示: Parameter对象被子不正确的定义,提供了不一致或不完整的信息。