我用SPT想更新SQL数据库中的数据,在Cursor表中更新了数据但退出程序后再进入SQL数据库看数据丝毫未动。程序如下不知错在什么地方?
**************************************************
*VFP中用SPT的Cursor表更新SQL数据库
**************************************************
LOCAL ConnectString,nhand1,soucdb
CLEAR
nhand1 =0 && nhand1为MAINDB数据源的连接句柄
soucdb = 'MAINDB.DB' &&SQL数据库
ConnectString = 'Driver='+'Adaptive Server Anywhere 9.0'+';'+;
'uid='+'dba'+';'+;
'pwd='+'666666'+';'+;
'databasekey='+'123456'+';'+;
'DBF='+soucdb
SQLSETPROP(0,"DispLogin" ,3) && 关闭显示信息连接属性
nhand1 = SQLSTRINGCONNECT(ConnectString) && 连接, nhand1为MAINDB数据源的连接句柄
sqlexec(nhand1,"select recordid,names from workdat","tmp")
SELECT tmp
cursorsetprop("tables","workdat","tmp") &&设置临时表的更新目标表
cursorsetprop("keyfieldlist","recordid","tmp") &&设置临时表的关键字-------"recordid"
cursorsetprop("updatablefieldlist","names","tmp") &&设置临时表的更新字段----"names"
cursorsetprop("updatenamelist","names workdat.names","tmp") &&用tmp中的相应字段更新workdat表
cursorsetprop("sendupdates",.t.,"tmp") &&设置是否可更新 T.-执行 .F.-不执行。
cursorsetprop("UpdateType",2)
cursorsetprop("buffering",5) &&设置表缓冲
SELECT tmp
brow &&更新前浏览
UPDATE tmp SET names = "黄 英" &&姓名全改成了"黄 英"
brow &&浏览可见已更新
SQLDISCONNECT(0) &&断开连接
CLOSE DATABASE ALL
CLEAR ALL
CLEAR