STORE SQLCONNECT('aa','m188','cw16194') TO gnConnHandle
IF gnConnHandle <= 0
= MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
RETURN
ELSE
= MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
ENDIF
*****************************
= SQLEXEC(gnConnHandle,"delete from product")
use tmp\prod1 IN SELECT(1) &&本地表
sele prod1
go top
do while !eof()
s1="INSERT INTO product (;
sp,prodname,size,mstuff,;
package,prodarea,depot,spot,;
amount,price,unit,sortbey,;
clid,compname,name,tel)"
s2="values (?sp,?prodname,?size,?mstuff,;
?package,?prodarea,?depot,?spot,;
?amount,?price,?unit,?sortbey,;
?clid,?compname,?name,?tel)"
= SQLEXEC(gnConnHandle,s1+s2)
sele prod1
skip
enddo
= Sqlexec(gnConnHandle,"select * from product","tst")
= SQLDISCONNECT(gnConnHandle)
用以下2方法看看会不会快一点:
1 、
=SQLEXEC(gnConnHandle,"select top 0 * from product",'product_tmp') &&取得空的临时表
*再用cursorsetprop()函数将临时表product_tmp设为可向sql server更新数据及表缓冲
*然后将数据插入product_tmp
*再用=tableupdate(.T.,.T.,'product_tmp') 将数据更新到服务器上
2、将你的程序先预编译,改为
= SQLEXEC(gnConnHandle,"delete from product")
s1="INSERT INTO product (;
sp,prodname,size,mstuff,;
package,prodarea,depot,spot,;
amount,price,unit,sortbey,;
clid,compname,name,tel)"
s2="values (?sp,?prodname,?size,?mstuff,;
?package,?prodarea,?depot,?spot,;
?amount,?price,?unit,?sortbey,;
?clid,?compname,?name,?tel)"
= SQLprepare(gnConnHandle,s1+s2)
use tmp\prod1 IN SELECT(1) &&本地表
sele prod1
go top
do while !eof()
= SQLEXEC(gnConnHandle)
sele prod1
skip
enddo
= Sqlexec(gnConnHandle,"select * from product","tst")
= SQLDISCONNECT(gnConnHandle