VFP配合SQLSERVER开发C/S系统

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

文章搜索:  名称 全文  文章 首页 IT资讯 开发语言 软件开发 WEB开发 考试认证 数据库 程序人生 编程学院 电子书籍 视频 博客 论文 专题 论坛 SQL Server - Oracle - IBM DB2 - Sybase - MySQL/Postgrsql - Access - MSSQL - VFP编程 - 综合文章
您现在的位置:首页--数据库--VFP编程--VFP应用--浏览文章
VFP配合SQL SERVER开发C/S系统
点击:996   发布日期:2007-5-9 16:32:56   进入论坛
 
 

lcODBCServer=’DEVSQL’
lcODBCDatabase=’Shared’

**先修改,或者其是否存在
lreturn=SQLConfigDataSource(lnWindowHandle, ;
2, lcODBCDriver, ;
’DSN=’ + lcODBCName + CHR(0) ;
+ ’Description=’ + lcODBCDesc + CHR(0) ;
+ ’Server=’ + lcODBCServer + CHR(0) ;
+ ’Database=’ + lcODBCDatabase + CHR(0))
IF lreturn=1 &&ODBC存在,删除它
lreturn=SQLConfigDataSource(lnWindowHandle, ;
3, lcODBCDriver, ;
’DSN=’ + lcODBCName + CHR(0) ;
+ ’Description=’ + lcODBCDesc + CHR(0) ;
+ ’Server=’ + lcODBCServer + CHR(0) ;
+ ’Database=’ + lcODBCDatabase + CHR(0))
IF lreturn=0
MessageBox(’删除ODBC源失败,16,’BUFFER’)
ENDIF
ENDIF

**清除DLL
CLEAR DLLS

3. 从VFP连接到SQL SERVER

lnHandle=SQLConnect("SharedData","用户名”,“密码”)
If lnHandle>0 &&连接成功
**从库里获得数据(比如从EMP表里得到部门号为‘01’的职工)
lnReturn=SQLExec(lnHandle,"Select * from Emp Where cDept=’01’","CursorEmp")
If lnReturn>0 &&运行成功
Browse
Else &&失败
&&出错处理
EndIf
Else &&连接失败
MessageBox("连接SQL SERVER失败”,16,“BUFFER”)
EndIf

**用完连接后,最好马上关闭,连接是很宝贵的资源,微软是按连接数收费的,而且每个连接会增加SQL SERVER的管理负担
=SQLDisconnect(lnHandle)

***************
(续) (这些贴子必须连着看)

用SPT技术更新数据时,必须通过SQL命令进行,SQL命令必须符合ANSI或者T-SQL(微软的TRANSACTION SQL),因为命令是通过VFP的SQLEXEC()函数送到SQL SERVER去执行的,语法必须遵守SQL SERVER的规则,而不是VFP的规则。不熟悉的人,最容易犯的错误就是把VFP的函数传送到SQL SERVER上执行,结果总出错。两者大部分函数都是不一样的。

比如ALLTRIM()是VFP的, SQL SERVER里是LTRIM()和RTRIM()
VFP日期以{}分界,但SQL SERVER里不认,必须用单引号.

如果SQL命令里用到VFP程序里的变量,变量前必须加问号“?”
比如,更新一个表的字段

lcLName="Zhang"
lcFName="San"
lnReturn=SQLEXEC(连接句柄,“Update Emp Set cLName=?lcName, cFName=?lcFName Where cEmpNo=’733000’")

如果返回值lnReturn>0,就更新成功了

插入记录,或者逐条修改记录时,只能每次操作一条记录。
比如要把临时表TmpEmp里的记录加到SQL SERVER的EMP表里,就得用循环

Select TmpEmp
Scan
lnReturn=SQLEXEC(连接句柄,"Insert Into Emp (cEmpNo,cLName,cFName) values (?TmpEmp.cEmpNo,?cTmpEmp.cLName,?cTmpEmp.cFName)" 

视频学习

我考网版权与免责声明

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

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

最近更新

社区交流

考试问答