本站首页    管理页面    写新日志    退出


«November 2019»
12
3456789
10111213141516
17181920212223
24252627282930


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接


Blog信息
blog名称:VFP及Sql Server拙笔
日志总数:46
评论数量:107
留言数量:0
访问次数:385078
建立时间:2005年5月12日




[VFP与SQL]VFP的13个SPT函数
读书笔记,  事件记录,  软件技术,  电脑与网络

老瓷 发表于 2008-1-17 0:21:46

Visual FoxPro 中内置了13个以SQL开头的函数,我们把它们称为SPT函数。就是这13个函数完成了Visual FoxPro的所有的SQL Pass Though功能。从功能上看,我们可以把它们分成五个部分:连接函数:连接建立函数:SqlConnect(),SqlStringConnect()连接的断开函数:SqlDisconnect()核心的执行函数:SQL语句传输及执行函数:SqlExec(),SqlPrapare()批次模式下更多数据集的取得函数:SqlMoreResults()异步模式下撤销正在执行的SPT的函数:SqlCancel()用法:SQLEXEC(nConnectionHandle, [cSQLCommand, [cCursorName]])例:SQLEXEC(hconn,"SELECT * FROM EMPLOYEES","MyCursor")Browse例:SQLEXEC(hconn,"")  &&一个空的命令发送,返回1的话证明连接可用!传递变量的方法:1)第一种是利用:问号+变量;本方法不用担心变量的类型。2)第二种是用TransForm()将变量合并到语句中。事务处理函数:SqlCommit(),SqlRollBack()连接通道属性函数:SqlGetProp(),SqlSetProp()数据源的信息截取函数:SqlTables(),SqlColumns() 把数据集设为可更新:Visual FoxPro的光标类型:只读光标、可读写光标、可更新光标1) 只读光标是那种不能被修改的光标,在VFP中使用SQL-Select语句产生的光标就是典型的只读光标;如:SELECT * FROM ORDERS INTO CURSOR MYCURSOR2) 可读写光标是那种可以进行读写操作,但光标上的数据变更不被反映到数据源的光标;A、一是用SQLEXEC()得到的光标;B、第二是VFP7以上的SQL-Select语句加入关键字readwrite产生的光标;   如:SELECT * FROM ORDERS INTO CURSOR MYCURSOR READWRITEC、第三是“没有设置发送更新”的本地视图和远程视图;(SendUpdate属性为.F.)3) 可更新光标是那种可以进行读写操作,并且任何数据变动都会反映到数据源的光标;典型的可更新光标就是可更新视图把SQLEXEC()得到的结果集设定为可更新光标的五大步骤:A. CURSORSETPROP("TABLES",数据源表名,可更新光标名)B. CURSORSETPROP("KEYFIELDLIST",关键字段,可更新光标名)C. CURSORSETPROP("UPDATABLEFIELDLIST",可更新字段列表,可更新光标名)D. CURSORSETPROP("UPDATENAMELIST",前后段字段对应关系列表,可更新光标名)E. CURSORSETPROP("SENDUPDATES",.T.,可更新光标名)一个很重要的属性——WhereType当我们设定结果集为可更新光标后,还有一个重要的属性没有设定,就是WhereType。即,Where字句产生的依据,有四种情况:CURSORSETPROP("WhereType" ,1)  &&根据关键字CURSORSETPROP("WhereType" ,2)  &&根据关键字+可更新字段CURSORSETPROP("WhereType" ,3)   &&根据关键字+已更新字段CURSORSETPROP("WhereType" ,4)   &&根据关键字+时间戳如:cnn=SQLCONNECT("northwind")SQLEXEC(cnn,"select categoryid as id ,categoryname,description from categories","mycursor")SELECT mycursorCURSORSETPROP("Tables","categories","mycursor")CURSORSETPROP("KeyFieldList","id","mycursor")CURSORSETPROP("UpdatableFieldList" ,"id,categoryname,description","mycursor")CURSORSETPROP("UpdateNameList","id categories.categoryid,categoryname categories.categoryname,"+ "description categories.description","mycursor")CURSORSETPROP("SendUpdates" ,.t.,"mycursor")CURSORSETPROP("WhereType" ,3)  


阅读全文(7845) | 回复(1) | 编辑 | 精华
 


回复:VFP的13个SPT函数
读书笔记,  事件记录,  软件技术,  电脑与网络

hxg391145(游客)发表评论于2009-10-10 17:24:30

非常好


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.029 second(s), page refreshed 144327125 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号