欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

vfp+sql相关有关问题

更新时间: 2014-01-05 02:27:46 责任编辑: Author_N1

 

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
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:27:46
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/10113/
本文WWW.DOC100.NET DOC100.NET版权所有。