ADOQuery1的列集合怎么表示,像adoquery1.fieldbyname('a').asstring 表示一个字段,要一个集合呢
目的要实现下面的IN:fdm.zfpz2.Close ;
fdm.zfpz2.SQL.Clear ;
fdm.zfpz2.SQL.Add('select * from uf_gkzzjfmx where sum_bill in '''+fdm.thpzshow.FieldByName('sum_bill').AsString +''' ');
fdm.zfpz2.Open ;
目的要实现下面的IN:fdm.zfpz2.Close ;
fdm.zfpz2.SQL.Clear ;
fdm.zfpz2.SQL.Add('select * from uf_gkzzjfmx where sum_bill in '''+fdm.thpzshow.FieldByName('sum_bill').AsString +''' ');
fdm.zfpz2.Open ;
begin
showmessage(adoquery1.fields[i].value);
end;
然后循环数据集
str:=str+','+fdm.thpzshow.FieldByName('sum_bill').AsString;然后改为select .. in str) 就可以了(要注意str的第一个',',自己测试一下把)
把上边的 in条件改成一个sql查询语句
in +select sum_bill from table where 条件 ');
select * from uf_gkzzjfmx where sum_bill in (select sum_bill from table2)
begin
mx:=mx+','+''''''+fdm.thpzshow.FieldByName('sum_bill').AsString+'''''' ;
fdm.thpzshow.Next ;
end;
showmessage(mx);
fdm.zfpz2.Close ;
fdm.zfpz2.SQL.Clear ;
fdm.zfpz2.SQL.Add('select * from uf_gkzzjfmx where sum_bill in ('''+mx+''') ');
fdm.zfpz2.Open ;showmessage 得出的值是 ''pay200401-0019'', ''pay200401-0020'',''pay200401-0021''select * from uf_gkzzjfmx where sum_bill in ('''+mx+''') 无效,没有返回值呀,晕~
i: Integer;
begin
self.DataSource1.DataSet :=fdm.thpzshow ;
fdm.thpzshow.Close ;
fdm.thpzshow.Parameters[1].Value :=self.DBDateTimeEditEh1.Text;
fdm.thpzshow.Parameters[2].Value :=self.ComboBox1.Text;
fdm.thpzshow.Parameters[3].Value :=self.DBDateTimeEditEh2.Text;
fdm.thpzshow.Open ;
Label3.Caption:=self.DBGridEh1.Columns[12].Footers[0].SumValue;mx:=''''''+fdm.thpzshow.FieldByName('sum_bill').AsString+'''''';
fdm.thpzshow.First;for i := 0 to fdm.thpzshow.RecordCount - 1 do
begin
mx:=mx+','+''''''+fdm.thpzshow.FieldByName('sum_bill').AsString+'''''' ;
fdm.thpzshow.Next ;
end; showmessage(mx);
fdm.zfpz2.Close ;
fdm.zfpz2.SQL.Clear ;
fdm.zfpz2.SQL.Add('select * from uf_gkzzjfmx where sum_bill in ('''+mx+''') ');
fdm.zfpz2.Open ;{fdm.zfpz2.Close ;
fdm.zfpz2.SQL.Clear ;
fdm.zfpz2.SQL.Add('select * from uf_gkzzjfmx where sum_bill in (''pay200401-0019'', ''pay200401-0020'',''pay200401-0021'') ');
fdm.zfpz2.Open ; }end;