| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2155 人关注过本帖, 1 人收藏
标题:vfp SQLEXEC参数问题
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
结帖率:98.98%
收藏(1)
已结贴  问题点数:20 回复次数:5 
vfp SQLEXEC参数问题
SQLEXEC(nhandle,"create table wy_user(id int identity(1,1) primary key,name char(6) not null)") &&建立表
nm='张三'
ex1=[insert into wy_user(name) values(]+[']+nm+[')]
?ex1 &&显示的结果是 insert into wy_user(name) values('张8三')
exe2="insert into wy_user(name)"
exe3=" values(''+?nm+'')"
cexe=exe2+exe3
?cexe &&显示的结果是 insert into wy_user(name) values(''+?nm+'')

?sqlprepare(nhandle,cexe) && 此句会使数据发送更稳定,运行速度更快
?sqlexec(nhandle)
?SQLEXEC(nhandle,cexe)

问:
1、写成 cexe 的个格式比写成 ex1的格式好在那里?
2、exe3=" values(''+?nm+'')",为什么要带4个 ',只带2个 ',操作成功,但写入的数据是?nm,而不是 张三,
   这句exe3=" values(''+?nm+'')"写成exe3=" values(?nm)",能正确写数据 张三,那为什么还要多写4个''和2个+
谢谢,解析,
3、
sqlprepare(nhandle,cexe) && 此句会使数据发送更稳定,运行速度更快
sqlexec(nhandle)
下面的1句好像就能执行,为什么要用上面2句一起处理?
SQLEXEC(nhandle,cexe)




[ 本帖最后由 mywisdom88 于 2015-6-20 14:08 编辑 ]
搜索更多相关主题的帖子: identity primary create insert values 
2015-06-20 14:06
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
顶,没人指教、、
2015-06-21 11:41
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:5 
帮你顶+1
2015-06-21 13:26
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
在这里论坛找到的
https://bbs.bccn.net/viewthread.php?tid=417457&highlight=SQLEXEC
原话:
在插入 sql server 时,72 个字段的都可以,其中还含包含几个 text。不要把整句都写在一起,太长了容易造成字符数超量。你可以用几个参数分别表达字符串,最后一个 sqlexec() 即可。举例:
cex1="INSERT INTO 送货明细表(送货单号,送货日期,... ) "
cex2=" values(''+?afd1+'',''+?afd2+'',.... )"
cexe=cex1+cex2
n1=sqlprepare(gnConnhandle,cexe) && 此句会使数据发送更稳定,运行速度更快
n2=sqlexec(gnConnhandle)

我刚才测试
这样也可以,
cex1="INSERT INTO 送货明细表(送货单号,送货日期,... ) "
cex2=" values(?afd1,?afd2,.... )"   &&也就是不要4个'和+
谁能解释
2015-06-21 15:38
hepingfly
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:15
帖 子:195
专家分:657
注 册:2015-5-21
收藏
得分:15 
不要那4个‘,和2个+,完全可以。那只是为了沿用提问者的原句子的基础上,再作的用法说明而已吧?2个’号之间允许有空格吧。这个空格完全可以去掉。再:不用 sqlprepare,只用 sqlexec 也完全能够执行。但是,在大数量记录的交换中,多机并行操作中,首先执行 sqlprepare 预编译功能, 对数据稳定交换,相对提高运行速度,作用较大。当然,数据量较少,终端机数量不多时,用不用差别不很大的。(个人之见仅参考吧)。

星际花草
2015-06-21 21:36
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
收藏
得分:0 
学习了
2019-03-21 11:04
快速回复:vfp SQLEXEC参数问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017640 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved