部分代码:
ClientDataSet1.Open;
DCOMConnection1.Connected:= False;
ClientDataSet1.First;
while not ClientDataSet1.Eof do begin
ADO_YZ.Close;
ADO_YZ.SQL.Clear;
ADO_YZ.SQL.Add('insert HB_yz(BHID,YZLX,YZBM,DW,DJ,ZL,GG) ') ;
ADO_YZ.SQL.Add('SELECT ');
ADO_YZ.SQL.Add(' BHID='''+ADOQuery1.FieldByName('BHID').AsString+''', ');
ADO_YZ.SQL.Add(' YZLX='''+DATETOSTR( ClientDataSet1.FieldByName('YZLX').AsInteger)+''' , ');
......
ADO_YZ.ExecSQL;
ClientDataSet1.Next;//由于YZLX的值有多种方式体现,我想将结果集插入hb_yz表时像如下SQL样,请问如何写?
insert hb_yz (bhid,yzlx)
select bhid,yzlx=case when yzlx=0 then 1
when yzlx=3 then 3
when yzlx=4 then 2
whenyzlx in (1,2,5) then 0
end
from 表
ClientDataSet1.Open;
DCOMConnection1.Connected:= False;
ClientDataSet1.First;
while not ClientDataSet1.Eof do begin
ADO_YZ.Close;
ADO_YZ.SQL.Clear;
ADO_YZ.SQL.Add('insert HB_yz(BHID,YZLX,YZBM,DW,DJ,ZL,GG) ') ;
ADO_YZ.SQL.Add('SELECT ');
ADO_YZ.SQL.Add(' BHID='''+ADOQuery1.FieldByName('BHID').AsString+''', ');
ADO_YZ.SQL.Add(' YZLX='''+DATETOSTR( ClientDataSet1.FieldByName('YZLX').AsInteger)+''' , ');
......
ADO_YZ.ExecSQL;
ClientDataSet1.Next;//由于YZLX的值有多种方式体现,我想将结果集插入hb_yz表时像如下SQL样,请问如何写?
insert hb_yz (bhid,yzlx)
select bhid,yzlx=case when yzlx=0 then 1
when yzlx=3 then 3
when yzlx=4 then 2
whenyzlx in (1,2,5) then 0
end
from 表
---------------------------------------
呵呵,月亮这个家伙看他回帖还是很牛x的,同时还挺有原则的阿,呵呵