将字段作为字符串参数传进去。 sqltext:='select '+'''+list.items[list.itemindex]+'''(....) from table where by1=''NP'' and slygh='''+czygh+''' and cznr=''1'''; TUXEDOQUERY1.SQL.Clear; TUXEDOQUERY1.SQL.ADD(SQLTEXT); TUXEDOQUERY1.open;
那就只有动态生成qrtext,再连接dataset和datafield
var sqltext:string; begin sqltext:='select '+' '''+fieldname[1]+''','''+fieldname[2]+''','''+fieldname[3]+''' from table_name where your_condition'; query.sql.close; query1.sql.add(sqltext); query.open; end;
用户选择其中的某些子段
然后准备调用Qreporter打印
接着怎么办呢
sqltext:='select '+'''+list.items[list.itemindex]+'''(....) from table where by1=''NP'' and slygh='''+czygh+''' and cznr=''1''';
TUXEDOQUERY1.SQL.Clear;
TUXEDOQUERY1.SQL.ADD(SQLTEXT);
TUXEDOQUERY1.open;
sqltext:string;
begin
sqltext:='select '+' '''+fieldname[1]+''','''+fieldname[2]+''','''+fieldname[3]+''' from table_name where your_condition';
query.sql.close;
query1.sql.add(sqltext);
query.open;
end;