|
主题: 蓝鲸:asp中如何运用单引号和双引号!
|
进军.net
职务:普通成员
等级:1
金币:0.0
发贴:105
|
#12005/3/30 13:52:55
引用:-------------------------------------------------------------------------------- -------------------------------------------------------------------------------- rs.open "Select * From register where username='"& request("username")&"'",Conn,3,3
response.write "<h2>dddd<a href=""gform.htm"">ddd</a>ddd</h2>" 像上面的情况我经常会写成: rs.open "Select * From register where username=&request("username")&",Conn,3,3
response.write "<h2>dddd<a href="gform.htm">ddd</a>ddd</h2>"
等很多类似的情况 所以有时候程序总因为标点符号用不好就会报错,因此担误了好多时间。请大家多指教!给我总结一个规律!谢谢
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#22005/3/30 16:13:45
其实很简单的东西,但是很多人不会用.我也想把这个说清楚,可惜很多时候越说越让人糊涂 首先要知道,引号是成对出现的.这个就和语文中学到的一样.引号里面的是一段字符串,我们把这段看成一个整体.引号外面的是变量,这个也看成一个整体,而变量也必须是在引号外面的, &是连接符,是用来连接两个整体的 你的这个句子: "Select * From register where username=&request("username")&" Request("username")可以看成是一个变量,是不能写在引号里面的 这是第一个错误 改成: "Select * From register where username="&request("username") 怎么来看这个句子呢? 就像上面说的,把各个部分看成一个整体 "Select * From register where username="是一个字符串,我们假设成A request("username")是变量,我们假设为B 用连接符连接起来就是 A & B 那么我们来构造一个更复杂的语句: "SELECT * FROM " & Table & " WHERE Name = '" & Name &"'" 其实就是: "SELECT * FROM" Table " WHERE Name = '" Name "'" 五个部分用&连接了一下 可以注意其中字符串部分的引号,是首尾成对的 我们假设Table为"Users",Name为"yangjp" 上面的语句就等于: "SELECT * FROM Users WHERE Name = 'yangjp'" 在这个SQL语句里面,因为yangjp也是字符串,所以有一个被引号包含了起来,而双引号不能再嵌套双引号,所以这里是单引号 完了,希望别说得你越来越糊涂了 :D :D
|
蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
|
#32005/3/30 19:16:27
缺缺说得很具体了。
非常大鱼
|
进军.net
职务:普通成员
等级:1
金币:0.0
发贴:105
|
#42005/3/31 15:13:15
引用缺缺:"SELECT * FROM " & Table & " WHERE Name = '" & Name &"'"
A是"SELECT * FROM" B是TABLE C是"WHERE NAME= ---为什么没有后引号??? D是???
'"&name&"'"中加单引号是因为name是字符型数据。末尾的双引号是与c成对的。但另外的双引号和&和起什么作用?
这样写可以吗? "select * from"&table&"where name="'&name&'"
请指教!麻烦你分别说一下(详细点)!谢谢
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#52005/3/31 17:12:27
C 是 " WHERE Name = '" D 是 Name E 是 "'"
'"(1)&name&"(2)'"(3)
这句话里面有三个双引号 引号1是于C组的,和C组第一个引号构成一对 2和3一组
|
进军.net
职务:普通成员
等级:1
金币:0.0
发贴:105
|
#62005/3/31 19:57:45
引用缺缺:E 是 "'" ????这里的单引号为什么要写在双引号里?
其它的我全明白了就还有上边这一个。请再给讲讲吧!
即为什么不这样写呢? sql="select * from" &table& "where name='"&name&'
|
进军.net
职务:普通成员
等级:1
金币:0.0
发贴:105
|
#72005/3/31 20:12:29
晕!我明白了,因为'也是一个字符,所以也要用""包括在里面! 真的太谢谢缺缺了!
我河北廊坊人 qq:81167664
|
进军.net
职务:普通成员
等级:1
金币:0.0
发贴:105
|
#82005/3/31 20:26:56
缺缺你指教一下,看我是不是真的明白了呀!
前提是name\pas都是字符型数据 sql="select * from" &table& "where name='"&name&"'"&"and pas='"&pas&"'"
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#92005/3/31 21:42:05
from where附近加上空格,否则构建的sql语句就不正确了 还有"'"&"and pas='"
可以直接写成 &"' and pas='"
|
进军.net
职务:普通成员
等级:1
金币:0.0
发贴:105
|
#102005/4/1 15:44:51
from where附近加上空格,否则构建的sql语句就不正确了
呵呵..这是马虎了
谢谢看来我还的多练习呀!
|
holin
职务:普通成员
等级:1
金币:0.0
发贴:35
|
#112005/4/4 23:47:56
嗯,偶也明白了
|
huxueteng
职务:普通成员
等级:1
金币:0.0
发贴:3
|
#122005/4/21 12:41:08
明白了'是要用在结果中的,所以^^^^
|
huxueteng
职务:普通成员
等级:1
金币:0.0
发贴:3
|
|
古剑刀
职务:普通成员
等级:1
金币:0.0
发贴:41
|
#142005/4/21 13:28:26
楼上各位:真有闲心!这类问题只要多练习就有了,瞎忙活啥呀!
|