VFP配合SQLSERVER开发C/S系统

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

EndScan

*** 要得到SQL SERVER上某个表的结构,有两种办法,一是运行SQL SERVER自带的系统存储过程。一是运行一个Select命令。

比如要从SQL SERVER得到EMP表的结构

lnReturn=SQLEXEC(连接句柄,"Select Top 0 * From Emp","TmpEmp")

返回的结果都是临时表,是只读的,要想变成可读写的,需要做点小变化:

Select 0
Use DBF("TmpEmp") Again Alias Emp
Use In TmpEmp

现在得到的EMP临时表就是可读写的了。

*注 "Select Top 0 From Emp" 命令在VFP里是错误命令,但SQL SERVER里可以执行.

SPT和使用视图相比,优点是每一步你都清楚自己在做什么,知道为什么命令会出错。缺点是你需要多写命令,多了解SQL SERVER的语法。

***************
谈谈VFP和SQL SERVER搭配做C/S系统 (五) --从VFP控制SQL SERVER事务处理和加锁

**建立与SQL SERVER的连接
lnHandle=SQLConnect("ODBC数据源","用户名","密码")

If lnHandle>0

&& 设置成手工事务处理模式,由代码来控制
= SQLSETPROP(lnSQL_Hand, ’Transactions’, 2)

**下面的命令从EMPPAY里选取记录,并给该表加上独占锁(TABLELOCKX),一直到该事务结束(HOLDLOCK)

ln1=SQLEXEC(lnHandle, "Select * FROM EmppayWITH (TABLOCKX, HOLDLOCK)","Emppay")

**执行其它命令,比如更新数据
ln2=SQLEXEC(lnHandle,"Update PayTotal Set ......")
...
...

**如果所有命令都正确执行了,则
=SQLCOMMIT(lnHandle)

***如果要放弃整个事务处理,用
=SQLROLLBACK(lnHandle)

***关闭连接,事务自动结束,锁也解开
=SQLDISCONNECT(lnHandle)

Else
****连接失败
EndIf

*** SQLSETPROP()函数
这个VFP函数是用来设置当前连接的属性的。 比如上边的手工事务处理。
还有一个比较常用的属性是DISPLOGIN,该属性控制是否显示SQL SERVER的登录表单

第3个参数: 1 - 显示登录表单,如果登录信息(用户名,密码)不完全2 - 总显示登录表单3 - 不显示登录表单

例如:
=SQLSETPROP(lnHandle, "DISPLOGIN",1)

当使用SPT技术时,为节约连接数减少负担,需要经常连接和断开SQL SERVER,有时候你并不希望每次连接都让用户登录,当用户首次登录后,可以把名字和密码存起来,以后的连接可以自动登录了。

***************
谈谈VFP和SQL SERVER搭配做C/S系统 (六) -- SQL SERVER的索引

作为VFP程序员,我们深知索引对表的重要性,好的索引可以大大缩短程序读取数据的时间。
索引对于SQL SERVER数据表来说,同样是很重要的。你可以做个简单的测试。

1. 索引测试

从SQL SERVER程序组里或者ENTERPRISE MANAGER的TOOLS菜单上打开QUERY ANALYZER工具.
连接到你的SERVER后, 选择QUERY菜单上的CURRENT CONNECTION OPTIONS(当前连接选项),

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答