首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

vfp+sql相关有关问题

2013-07-29 
vfp+sql相关问题一、vfp中对sqlserver2005表insert、delete、update(增、删、改)语法与vfp中区别?eg:表单init事

vfp+sql相关问题
一、vfp中对sqlserver2005表insert、delete、update(增、删、改)语法与vfp中区别?
eg:表单init事件载入数据--nsqlconnect全局变量
sqlexec(nsqlconnect,"select * from sg.dbo.用户表","sg_user")----ok
当修改用户表密码后用update失败
m.pwd=allt(thisform.text1.value)
pm1--全局变量为登录帐号
tt="update sg.dbo.用户表 set 密码=m.pwd where 帐号=pm1"
if sqlexec(sqlconnect,tt)>0
messagebox("变更成功")
else
messagebox("变更失败")
endif

???执行后:都是变更失败----什么原因求解

二、如何在sqlserver2005中建立可更新的视图?????? (指在sqlserver 管理工具中)
(vfp中建立本地视图,有开启更新视图才可更新,不知sqlserver中情形)
 (vfp中建立本地视图,过滤条件中加入自定义表达式如常量  1=?abc 没有问题 ,但在sqlserver中加入  1=?abc提示报错类型不对,那又如何实现???)

[解决办法]
tt="update sg.dbo.用户表 set 密码=?m.pwd where 帐号=?pm1"
[解决办法]
一、
tt="update sg.dbo.用户表 set 密码=?pwd where 帐号=?pm1"

二、
1=?abc 是 VFP 的用法,当然不用于 SQL Server,你还是把基本的 sqlexec 等 SPT 方式搞明白,再学习视图吧。
[解决办法]
1、VFP 的 ? 作用不会不知道吧,查一下 VFP 自带的帮助文件吧。

2、我用 transform 一般是为了转换类型,如把 数值型转换成字符型
a1=123
b1=transform(a1)  && 不用考虑长度位数
相当于:
a1=123
b1=alltrim(str(a1))

3、变量前加@是表示按址传递,也可以理解为变量接收参数输出
给你个例子:
Clear
lna1=8
?mytest(lna1),lna1
?mytest(@lna1),lna1
Function mytest
Lparameters t1
t1=t1*10
Return
Endfunc

热点排行