欢迎来到天天文库
浏览记录
ID:8549641
大小:23.55 KB
页数:17页
时间:2018-04-01
《asp中的引号规则,在asp中如何书写sql语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在学习ASP.NET的过程中,很多同学在书写SQL字符串时都感到比较困难,总是发生各种各样的错误,并且对其中的双引号、单引号和连接运算符&感到非常难以掌握。本文就从头开始系统讲述一下如何书写正确的SQL字符串,并给出一个比较有效的调试方法。1双引号、单引号和连接运算符&首先声明:这里说的符号是英文状态下的符号,也可以说是语法中用到的符号。因为在书写SQL语句时,最常见的困惑就是对其中的双引号、单引号和连接运算符&的理解。下面就从基础讲起。(1)关于双引号在ASP中,用到字符串常数时两边要加上双引号",表示其中是一个字符
2、串,如下面都是字符串常数:"abcdefg""伟大的祖国""101""2003-10-5"大家可能会想,101是一个数字啊,2003-10-5是一个日期啊。但是,只要在两边加上了双引号,那么它就是一个字符串,不管其中的内容是数字还是英文字母还是中文。(2)关于单引号有同学可能会想了,你现在用双引号表示其中是一个字符串,但是假如在字符串中间也用到了双引号,那么岂不就会出现这样的情况:"ab"cde"fg"这样显然就会引起别人的误解,到底第一个双引号和第几个双引号配套呢?因为ASP规定,当出现双引号嵌套时,可以将内层的双引
3、号转变为单引号'或者转变两个连续的双引号""。按照该规定,上面的字符串应该改写为如下形式:"ab'cde'fg""ab""cde""fg"说明:1.绝大部分情况下,发生引号嵌套时,大家可以将内层引号改成单引号,即第一种形式。2.特殊情况下,需要使用第二种形式。因为这两者有一定区别,在使用他们时,第1种形式中间就是一个单引号,而第二种形式中间其实是一个双引号,大家可以利用Response.Write语句将它们输出到页面上比较结果。不过,需要说明的是,这里说的引号嵌套都是针对英文状态下的字符说的,如果在字符串中间有中文状态
4、下的引号,则不必替换。如下面的字符串都是合法的:"伟大的“祖国”万岁""伟大的“祖国万岁"这也提示我们,在处理客户提交的数据时,如果客户输入的都是中文字符,那么,不管输入了什么,都可以当作一个字符串。但是,如果客户输入的是英文,那么就可能会发生字符串嵌套的情况。(3)连接运算符&在使用字符串时,我们经常需要将两个或多个字符串连接成一个大的字符串,这时就需要用到连接运算符&(此时也可以用+,不过一般用&),如下:"abcd"&"efg""abcd"&"efg"&"hijk"对于上面两个表达式,执行连接运算后结果如下:"a
5、bcdefg""abcdefghijk"我们来看一下其中的连接运算原理,以第一个表达式为例,它实际上是先将两个双引号之间的内容abcd去出来,然后再将第二个字符串之中的内容efg取出来,将它们连到一起变成abcdefg。当然,它们的结果自然还是字符串常数,所以,仍然要在两边添加双引号,表示中间的是字符串常数,因此就变成了最后的"abcdefg"。对于第二个表达式,本质上和上面一样,只不过是先将第一个字符串和第二个字符串连接成一个字符串,然后再将它们的结果和第三个字符串连接成最后的字符串。说明:1.有的同学想出了一个形式
6、上的理解方法,说是将中间的"&"擦去,然后连到一起就行了。结果是一样的,不过真正的原理还是以上面为准。2.对于"abcd"&"efg",在ASP中也可以将&两边的空格去掉,成为"abcd"&"efg"。不过,推荐加上空格,这样程序会清楚些。3.有时候,表达式中可能有更多的连接运算符。运算过程也是一样的,从左到右依次进行即可。上面的例子比较简单,如果中间也有单引号,可能会变得复杂些。不过你只要记住,不管其中有无单引号,一个字符串两边的双引号之间的内容都是这个字符串的内容,连接时都要取出来,你只要将其中的单引号当成普通的字
7、符即可。如下面的例子:"ab'cd'efg"&"hi'jk'lmn"执行连接运算后,结果如下:"ab'cd'efghi'jk'lmn"至于具体原理仿照上面的讲解即可。将第一个字符串中的内容ab'cd'efg和第二个字符串中的内容hi'jk'lmn取出来连到一起,变成ab'cd'efghi'jk'lmn,然后在两边加上双引号,表示这是一个字符串常数"ab'cd'efghi'jk'lmn"。好,现在相信大家对于双引号、单引号和连接运算符的概念已经比较清楚了,可能还有的同学会进一步提出,上面的例子("abcd"&"efg")
8、好像意义不大啊,这个式子直接写成"abcdefg",何苦要将其分成两部分,中间再加个连接符,这不多此一举吗?这个想法其实是对的,在实际使用中,尽管有时也用&连接两个字符串常数,但是更多的时候是将一个字符串常数和一个字符串变量连接到一起,或者是将两个字符串变量连接到一起。如下:"ab'cd'efg"&strTemp大家可以注意到,上
此文档下载收益归作者所有