简单的SPT实例。

来源:互联网 发布:亿人围观网络春晚 编辑:程序博客网 时间:2024/05/20 18:00

test.mdb 表:user cname char(10) cpwd(10)

test.dbf 表:test cname char(10) cpwd(10)

 

将test表中的数据导入test.mdb(user)中。

 

local lnHandle

lnHandle = sqlstringconnect("Driver={Microsoft Access Driver (*.mdb)};dbq=d:/test.mdb;")

* lnHandle = sqlstringconnect("driver = {SQL Server};server=<servername>;uid=<userid>;pwd=<password>") &&SQL SERVER连接字符串

= sqlexec(lnHandle,"Select * From user","Temp1")

select temp1

*SET MULTILOCKS ON

     cursorsetprop("buffering",5)                                                        &&   设置表缓冲

     append from test                                                                    &&  

     cursorsetprop("tables","user","temp1")                                              &&   设置临时表的更新目标表

     cursorsetprop("keyfieldlist",'cname',"temp1")                                       &&   设置临时表的关键字

     cursorsetprop("updatablefieldlist","cname,cpwd","temp1")                            &&   设置临时表的更新字段

     cursorsetprop("updatenamelist","cname user.cname,cpwd user.cpwd","temp1")           &&   gh中的相应字段更新rsda

     cursorsetprop("sendupdates",.t.,"temp1")                                            &&   设置为可更新

     cursorsetprop("wheretype",2,'temp1')

     tableupdate(.t.)

*    tableupdate(.t.,.t.,'temp1')

     sqlDisconnect(lnHandle)

 

注意:要先缓冲再添加数据。

 

感谢“都市夜猫”的指点:

 

缓冲就是vfp另外缓冲了一份原始拷贝

通常是先用 cursorsetprop 设置各种属性,然后再更改数据,也就是上面可以改为先 cursorsetprop,最后再 append 和发 tabelupdate