Form2.ADOquery1.close;
Form2.ADOquery1.sql.clear;
Form2.ADOquery1.sql.add('SELECT * FROM dj having '''+i+''' =:a and '''+i2+'''=:b');
Form2.adoquery1.Parameters.ParamByName('a').value:=self.Edit1.text;
Form2.adoquery1.Parameters.ParamByName('b').value:=self.Edit2.text;
Form2.ADOquery1.open;出错提示: 'HAVING 子句 ('yqmoney'=? And 'yqbz'=?) 未分组或集合。'.
Form2.ADOquery1.sql.clear;
Form2.ADOquery1.sql.add('SELECT * FROM dj where '''+i+''' =:a and '''+i2+'''=:b');
Form2.adoquery1.Parameters.ParamByName('a').value:=self.Edit1.text;
Form2.adoquery1.Parameters.ParamByName('b').value:=self.Edit2.text;
Form2.ADOquery1.open;
Form2.ADOquery1.close;
Form2.ADOquery1.sql.clear;
Form2.ADOquery1.sql.add( 'SELECT * FROM dj where :a= '''+i+ ''' and :b= '''+i2+ '''');
Form2.adoquery1.Parameters.ParamByName( 'a').value:=self.Edit1.text;
Form2.adoquery1.Parameters.ParamByName( 'b').value:=self.Edit2.text;
Form2.ADOquery1.open;
Form2.ADOquery1.sql.clear;
Form2.ADOquery1.sql.add( 'SELECT * FROM dj where i=:a and i2=:b ');
Form2.adoquery1.Parameters.ParamByName( 'a ').value:=self.Edit1.text;
Form2.adoquery1.Parameters.ParamByName( 'b ').value:=self.Edit2.text;
Form2.ADOquery1.open;
这样行了
Form2.ADOquery1.close;
Form2.ADOquery1.sql.clear;
Form2.ADOquery1.sql.add( 'SELECT * FROM dj where :a='''+i+''' and :b='''+i2+'''');
Form2.adoquery1.Parameters.ParamByName( 'a ').value:=self.Edit1.text;
Form2.adoquery1.Parameters.ParamByName( 'b ').value:=self.Edit2.text;
Form2.ADOquery1.open;
having子句一般都和group by在一起使用较多..记住的是包含在having子句中的列是组列