| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1275 人关注过本帖
标题:用SQL ALLTE tabe 增加字段语句中用表名时为什么用到&宏时报错
只看楼主 加入收藏
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用sylknb在2015-8-5 11:45:44的发言:

 bmk=IIF(LEFT(bmk,1)='"',bmk,'"'+bmk)+IIF(RIGHT(bmk,1)='"','','"')
能介释一下此语句?好吗?
    这句话的作用是把含有空格的字符串两头强行加上双引号,那么兑换出来的字符串作为一个文件名的话就不会出错了。
    整个IF...ENDIF语句块的意思是:如果字符串Bmk中含有空格,则进行加双引号的处理。前一个IIF()函数的意思是:如果字符串中已经以双引号开头了,那就原样取字符串本身,否则,开头加上双引号;后一个IIF()函数的意思是:如果原字符串已经以双引号结尾了,那就不作处理(但是因为要保证函数完整,所以用了空字符串),否则,就强制加上双引号结尾。
    不过,问题来了:如果原来人家就考虑到这个问题,但加的是单引号或中括号的话,那么这个语句块反而会成为问题。完整的写法应该是:Bmk=IIF(LEFT(Bmk,1)='"' OR LEFT(Bmk,1)= "'" OR LEFT(Bmk,1)="[",Bmk,'"'+Bmk)+IIF(RIGHT(Bmk,1)='"' OR RIGHT(Bmk,1)="'" OR RIGHT(Bmk,1)="]",'','"')。
2015-08-05 14:06
快速回复:用SQL ALLTE tabe 增加字段语句中用表名时为什么用到&宏时报错
数据加载中...
 
   



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

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