4楼说的如果查询没有记录,
if isnull(i_rc) or i_rc <0 then //小于0
....//导入失败
那导入失败时,总要把datawidows清空,可是像dw_1.importString(csv!,is_data)
这样的填充如何才能把datawidows里面清空呀?用dw_1.retrieve(-1)和dw_1.reset() 都行不通
,我实在找不到好的办法.
string ls_path,ls_file,ls_err,ls_targerfile
boolean lb_delete
if GetFileOpenName("请选择目标文件",ls_path,ls_file,"xls","Excel文件(*.xls),*.xls") = 1 then
ls_targerfile=Left(ls_path,Len(ls_path) - 4) + "_temp.txt"
OLEObject ExcelServer
ExcelServer = CREATE OLEObject
IF ExcelServer.ConnectToNewObject( "excel.application" ) < 0 THEN
messagebox("","连接excel失败,检查你的系统是否安装了office,必须安装EXCLE才可以使用该导入功能!")
ELSE
lb_delete =TRUE
ExcelServer.Workbooks.Open(ls_path)
excelserver.activeworkbook.saveas(ls_targerfile,3)
excelserver.displayalerts=false
ExcelServer.quit()
excelserver.displayalerts=true
ExcelServer.DisconnectObject()
END IF
end if
dw_1.reset()
if isnull(dw_1.importfile(ls_targerfile,2)) or dw_1.importfile(ls_targerfile,2) < 0 then
messagebox("警告", '待导入数据有错误,请改正后再次进行操作!')
return
else
destroy ExcelServer
dw_1.settransobject(sqlca)
messagebox("成功","数据导入成功!")
commit;
FileDelete(ls_targerfile)
end if
int i_rc
is_data = string(ole_ie.object.document.f_execute_sql.result.innerText)
dw_1.reset()
i_rc = dw_1.importString(csv!,is_data)
if isnull(i_rc) or i_rc>0 then
....//导入失败
还是不行,我改后的代码
if string(ole_ie.object.document.f_execute_sql.result.innerText) <> '' then
dw_1.reset()
is_data = string(ole_ie.object.document.f_execute_sql.result.innerText)
dw_1.importString(csv!,is_data)
else
dw_1.reset()
end if
dw_1.resetUpdate()