已解决问题 - 浏览113次

下一个已解决问题
any_thinksany_thinks

伴读书童

关于asp语法

请问 下列语句什么区别吗? 第一种格式有点难理解;求助高手解答。 谢谢!!!
1.sql="select * from user where id ='"&request.form("name")&"'"
conn.execute sql
2.f_id=request.form("name")
sql="select * from user where id ="&f_id
conn.execute sql


如果加双引号是字符串;那为什么还要加单引号呢? 第二种为什么又不用??? 谢谢!!!

还可输入300个字

请输入上图中的验证码,字母不区分大小写。

点击查看更多 语法 asp 关于 相关信息

liufubo2008liufubo2008

饱学秀才

最佳答案 - 由提问者2008-07-31 14:24:48选出

你是理解的方法错了。
对于asp中的语句,字符串要用引号,变量不用引号。
比方说
dim a,b
a="我喜欢ASP"
b=a&"编程"
这样b的结果是 我喜欢ASP编程。
你上面的第一种格式,前面的"select * from user where id ='"就是用双引号引用了字符串select * from user where id ='。&request.form("name")&就是用&连接变量request.form("name")后面的"'"就是 用引用‘,这个单引号和前面select * from user where id ='的单引号是一组的,因为request.form("name")的返回值是 字符串,必须用引号。
第二中f_id的返回值必须是数字,才不用引号.

0 0

还可输入300个字

请输入上图中的验证码,字母不区分大小写。

提问者对最佳答案的评价 *

xiexie !!!

其他回答(2)

  • 武林高手武林高手

    饱学秀才

    asp是回答客户端页面请求的。
    在asp文件中,请求通常可以使用Request对象来得到请求的值。如你的代码中的Request.Form("name"),表示的就是在请求页面是,有一个文本框、列表框、选择框等等名字叫name,页面要把这个框中的值当参数发送给asp文件,asp文件中就可以使用Request.Form("name")得到这个参数的值。
    而这个参数的值,往往也用在数据库查询的关键字上。
    如你的代码,可以看出数据库里有一张表,表中有一个字段名为id,要查询这个字段的值为参数name的值的记录。
    格式就是:select 查询结果中要访问的字段 FROM 表或查询 WHERE 关键字字段=字段的值,这是最简单的sql查询语句了。在给“字段的值”时,就是用Request.Form("name")给的,前一种是直接给,后一种是间接给。
    至于单引号的问题,如果这个字段是数字型的,不要加单引号;如果这个字段是字符串弄的,必须加单引号!你这两种形式里应该是有一种不能正常执行的。

    还可输入300个字

    请输入上图中的验证码,字母不区分大小写。

  • Java嬰儿Java嬰儿

    中举

    你没有弄懂SQL语言!
    在SQL里的查询器里:
    select * from user where id ='1'
    单引号是参数的意思!

    如在ASP中写成:
    sql="select * from user where id ='1'"
    这是可以的,但前提条件是这行语句是静态的,不能改动,同时编译器也会报错;这不合符你的要求

    想要动态地获取数据并写入数据库,如写成:
    sql="select * from user where id ='&request.form("name")&'"
    编译器会报错,这是因为"号里面不能存有'号,为了满足SQL的语句要求;采取了转义符方式获得'号; "'" 这种方式可以友好地获得一个'号.

    还可输入300个字

    请输入上图中的验证码,字母不区分大小写。

返回知识堂首页>>

猜你喜欢看

更多
1