2) 代码
1. Connect 按钮
PUBLIC ip &&数据库服务器IP
ip = thisform.txt_ip.Value &&从控件取得服务器IP
*生成连接字符串
conn_str = "Driver=DM ODBC Driver;SERVER=" + ip +";TCP_PORT=12345;DATABASE=SYSTEM;UID=SYSDBA;PWD=SYSDBA"
*设置连接属性为"连接失败时不弹出ODBC连接对话框"
SQLSETPROP(0,"DispLogin" ,3)
*使用连接字符串连接数据库
hdl_conn = SQLSTRINGCONNECT(conn_str)
*创建测试用表
SQLEXEC(hdl_conn,"DROP TABLE TBL_VFP_DM")
SQLEXEC(hdl_conn,"CREATE TABLE TBL_VFP_DM (C1 INTEGER,C2 VARCHAR(10),C3 VARCHAR(50))")
SQLEXEC(hdl_conn,"CREATE TABLE TBL_VFP_DM (C1 INTEGER,C2 VARCHAR(10),C3 VARCHAR(50))")
*添加测试数据
SQLEXEC(hdl_conn,"INSERT INTO TBL_VFP_DM VALUES(1,'ANDY','ANDY IS NO1')")
SQLEXEC(hdl_conn,"INSERT INTO TBL_VFP_DM VALUES(2,'KYO','KYO IS NO2')")
SQLEXEC(hdl_conn,"INSERT INTO TBL_VFP_DM VALUES(3,'RALPH','RALPH IS NO3')")
SQLEXEC(hdl_conn,"INSERT INTO TBL_VFP_DM VALUES(2,'KYO','KYO IS NO2')")
SQLEXEC(hdl_conn,"INSERT INTO TBL_VFP_DM VALUES(3,'RALPH','RALPH IS NO3')")
*生成SPT游标
SQLEXEC(hdl_conn,"SELECT C1 AS ID,C2 AS NAME,C3 AS CONTENT FROM TBL_VFP_DM", "mycursor")
SELECT mycursor
SELECT mycursor
*设置SPT游标为可更新游标
CURSORSETPROP("Tables","TBL_VFP_DM","mycursor")
CURSORSETPROP("KeyFieldList","ID,NAME,CONTENT","mycursor")
CURSORSETPROP("UpdatableFieldList" ,"ID,NAME,CONTENT","mycursor")
CURSORSETPROP("UpdateNameList","ID TBL_VFP_DM.C1,NAME TBL_VFP_DM.C2,CONTENT TBL_VFP_DM.C3","mycursor")
CURSORSETPROP("SendUpdates" ,.t.,"mycursor")
CURSORSETPROP("KeyFieldList","ID,NAME,CONTENT","mycursor")
CURSORSETPROP("UpdatableFieldList" ,"ID,NAME,CONTENT","mycursor")
CURSORSETPROP("UpdateNameList","ID TBL_VFP_DM.C1,NAME TBL_VFP_DM.C2,CONTENT TBL_VFP_DM.C3","mycursor")
CURSORSETPROP("SendUpdates" ,.t.,"mycursor")
*显示游标内容
SELECT mycursor
Browse
Browse