南网情深 发表于 2007-11-25 02:41

关于字符型和数字型的问题请教一下

刚才被一个很小的问题搞s了

调试能正常通过的代码如下所示:

set rs=server.CreateObject("ADODB.RecordSet")
sql="select * from answer1 where xm=' "&xm&" ' "
sql=sql&" and zw="&zw&""
   'Response.Write sql
         'Response.End
rs.open sql,conn,3,2
'职务和姓名相同的话,提示已经输入过
ifrs.eof then
'录入新信息
rs.addnew
rs("xm")=xm
rs("zw")=zw
rs.update
response.write "录入成功"
else
response.write"<script>alert('您已经提交成功,请不要重复输入!');location='default.htm'</script>"
response.end
end if
rs.close
set rs=nothing
response.redirect "result.aspx"


xm--姓名,字符文本型
zw--职务,数字型

我当时这样写

sql="select * from answer1 where xm= "&xm&""
sql=sql&" and zw="&zw&""


或者这样写


sql="select * from answer1 where xm=' "&xm&" ' "
sql=sql&" and zw=' "&zw&" ' "


程序都有问题,出来的结果不正常
写成第一个code就没问题
估计是数据类型不能随便乱写
因为我是拿来就用的 ,原理不是很懂,有达人可以指点一下,感激不尽

南网情深 发表于 2007-11-25 02:43

还有,我看书那时发觉,有时字符类型又用" "来包含
有时又用' '来包含
有点头晕
麻烦指点一下

Leon001 发表于 2007-11-25 02:59

没学过,不过和shell类似,我想在外面再包个' '是直接把"&xm&"打印出来,而不是将其识别为字符类型。

南网情深 发表于 2007-11-26 12:42

是不是太简单了,高手都不看

移民火星 发表于 2007-11-26 16:30

应该是字符用引号括住
数字不能吧。。

[ 本帖最后由 移民火星 于 2007-11-26 16:33 编辑 ]

gdut_stu 发表于 2007-11-28 19:15

可以去看一下正则表达式

admin 发表于 2007-11-28 22:06

双引号" "包着的叫字符串
如果字符串里包含双引号,那么就要把里面的双引号改成单引号' '
语文里的双引号用法一样的
而语句中的&只是将两个字符串连接起来而已

数字型就不用引号啦
引号外的zm之类的是字符型变量,那就相当于字符串

我也不知有没有说清楚,自己慢慢看吧

南网情深 发表于 2007-11-28 23:10

如果字符串里包含双引号,那么就要把里面的双引号改成单引号' '
按照这样说,我这句应该不是这样写啊
sql="select * from answer1 where xm=' "&xm&" ' "
应该是这样写才对啊
sql="select * from answer1 where xm=" '&xm&' " "


数字型就不用引号啦
确实是这样的
我把这句sql=sql&" and zw="&zw&""
改成sql=sql&" and zw="&zw
也是行得通的

wool王 发表于 2007-11-29 10:28

sql="select * from answer1 where xm = '"&xm&"' and zw = "&zw

对于ASP等代码内部,SQL语句是一个字符串。

另外,善用转义字符,比如字符串中需要出现双引号,就必须用两个""(我没没记错的话,呵呵)

admin 发表于 2007-11-29 10:29


sql="select * from answer1 where xm=' "&xm&" ' "

这样写是对的
第一个双引号中的就是一个字符串

select * from answer1 where xm='
最后一个双引号里的单边引号也是一个字符串
xm也是字符串
用两个&将这三个字符串连接起来

sql正确的格式应该如下

select * from answer1 where xm="姓名"


sql="select * from answer1 where xm='姓名' "

由于两个&包含着的xm是变量,所以要用那种方式书写

admin 发表于 2007-11-29 10:34

不要把 "&xm&"看成是个整体就行啦
上面的第一个引号应该是跟最前面的引号对应的

2002070344 发表于 2007-11-29 11:14

豁然开朗,谢谢各位

wool王 发表于 2007-11-29 12:01

11F~有兴趣兼任编程版斑竹么?

admin 发表于 2007-11-29 12:54

没兴趣...我向来对编程没什么感情...

南网情深 发表于 2007-11-29 14:44

俺要当版主,可惜不够power

wool王 发表于 2007-11-29 18:02

原帖由 admin 于 2007-11-29 12:54 发表 https://www.gdutbbs.com/images/common/back.gif
没兴趣...我向来对编程没什么感情...

你觉得这个版有讨论过编程的东西么?

admin 发表于 2007-11-30 17:18

至少不想让人说这个版是毁在我手上的—_—应该是毁在16楼手上的
15楼感兴趣就去申请,向来我通过的概率都是蛮高的

powerwind 发表于 2007-11-30 21:14

路过算了

iptton 发表于 2007-11-30 21:20

没眼看了

2002070344 发表于 2007-12-1 09:38

ls两位临时演员,活还是要干的
页: [1] 2
查看完整版本: 关于字符型和数字型的问题请教一下