$PBExportHeader$gf_ds_rowscopy.srf
global type gf_ds_rowscopy from function_object
end type
forward prototypes
global function integer gf_ds_rowscopy (datastore adw_sur, datastore adw_tar, ref string as_ret)
end prototypes
global function integer gf_ds_rowscopy (datastore adw_sur, datastore adw_tar, ref string as_ret);//插入数据
long m,i,ll_ins,ll_ret
string ls_coltype
for m=1 to adw_sur.rowcount()
Yield ( )
gf_msg("第"+string(m)+"行/共"+string(adw_sur.rowcount())+"行")
ll_ret++
ll_ins=adw_tar.insertrow(0)
for i=1 to long(adw_sur.Describe("DataWindow.Column.Count"))
Yield()
ls_coltype=lower(adw_sur.describe("#"+string(i)+".coltype"))
if pos(ls_coltype,'(')>0 then
ls_coltype=mid(ls_coltype,1,pos(ls_coltype,'(') - 1)
end if
if (ls_coltype='real' or ls_coltype='long' or ls_coltype='int' or ls_coltype='number' or mid(ls_coltype,1,7)='decimal') then
adw_tar.setitem(ll_ins,i,adw_sur.getitemnumber(m,i))
elseif ls_coltype='datetime' then
adw_tar.setitem(ll_ins,i,adw_sur.getitemdatetime(m,i))
else
adw_tar.setitem(ll_ins,i,adw_sur.getitemstring(m,i))
end if
next
next
return ll_ret
end function