很多人认为有了远程视图这样直观、简单的工具,为什么还需要 SPT 呢?确实 SPT 较远程视图难以掌握,但细细体会你会发现:远程视图其实是对 SPT 的可视化工具!SPT 较远程视图更具威力,远程视图提供的功能只是 SPT 的一个子集。其优势和劣势主要体现在以下几个方面:
l、SPT 的优势
1) 一次得到多个Cursor;
2) 执行除 Select 以外的其他 SQL 语句,如 Insert、Update、Delete等;
3) 执行远程数据库的存储过程 ;
4) 执行远程数据库的特殊函数、命令等 ;
5) 事务管理 。
2、SPT 的劣势
1) 没有图形用户界面;
2) 必须人工维护连接;
3) 得到的Cursor默认是“可读写”Cursor,要使它成为“可更新”Cursor必须经过设置才行。
下面就顺着我们对 SPT 的认识,来浏览一下这个伟大的工具吧!(注意:本文所有例程均使用 SQL Server的NorthWind 数据库演示)。
管理连接
l、建立连接
注意:本文所有示例的代码若用到连接的,默认采用“建立连接”代码中产生的连接句柄 “CON”。
WAIT ' 连接到 SQL Server 上去 ' NOWAIT NOCLEAR WINDOW
SQLSETPROP(0,"DispLogin" ,3) &&&& 设置环境为“从不显示 ODBC 登录对话框”。
CON=SQLSTRINGCONNECT("driver=SQL Server;Server=BOE;Uid=sa;pwd=;database=northwind")
*假定 SQL Server 服务器名为 BOE, 用户 ID 是sa, 口令是空串
*如果你的 SQL Server 的服务器名, 用户 ID, 口令与上不同,请修改以上代码中的相关部分以符合你系统中的设置
WAIT clear
IF con<=0
MESSAGEBOX(' 连接失败 ',64,' 连接到 SQL Server 上去 ')
ELSE
MESSAGEBOX(' 连接成功 ',64,' 连接到 SQL Server 上去 ')
ENDIF
2、断开连接
SQLDISCONNECT(CON)
一次得到多个Cursor
我们可以用一次 SPT 传回多个Cursor,如下:
cSQL="SELECT * FROM EMPLOYEES"+CHR(10)+"SELECT * FROM CUSTOMERS"+CHR(10)+"SELECT * FROM PRODUCTS"
?SQLEXEC(con,cSQL,"TEMP")
SQLEXEC( ) 的返回值表示Cursor的数量,这里返回 3 。这三个Cursor分别以 TEMP、TEMP1和TEMP2 命名。
执行其他 SQL 语句
下面我们尝试执行SQL Server以外的SQL语句:
cSQL="IF EXISTS(SELECT * FROM CUSTOMERSswheres CUSTOMERID='TEST')"
cSQL=cSQL+" DELETE FROM CUSTOMERSswheres CUSTOMERID='TEST'" cSQL=cSQL+" ELSE INSERT CUSTOMERS(CUSTOMERID,COMPANYNAME) VALUES('TEST',' 这是一个测试! ')"
IF SQLEXEC(CON,cSQL)<=0
MESSAGEBOX(' 执行失败 ',64,' 发送语句到 SQL Server 上去 ')
ELSE
MESSAGEBOX(' 执行成功 ',64,' 发送语句到 SQL Server 上去 ')
ENDIF
【VFP与SQL远程异构数据库】相关文章:
儿童舞蹈教程:国标新手上路03-23
远年陈酒03-23
2021湖北黄冈市浠水县基层医疗卫生机构专项招聘医务人员资格审查公告03-23
一年级数学奥数题及答案:猴子爬树03-23
5月11日开始报名!2023年内蒙古鄂尔多斯市乌审旗秋季幼升小入学条件和流程公布03-23
与太阳比早的人高一学生作文03-23
初中学校德育课程整合实施探究03-23
2015年美国化学工程专业排名03-23
遥远的她与它_400字03-23
VOA慢速英语:小型飞行恐龙与猫同大03-23
