ASP中,请问将一些中文传递给一个变量得吗?

来源:百度知道 编辑:UC知道 时间:2024/06/17 03:45:06
如果可以的话,那么我把这些中文传给一个变量k,,再在下面用sql语句查找该字段里k变量的内容..我应该怎么写呢?
<%
dim k
k=request.QueryString("k")
dim asql,er
set er=server.CreateObject("adodb.recordset")
asql="select * from Product where BigClassP="&k
%>
这样得吗?为什么提示类型不对呢?
我要补充的是: 该变量k与BigClassP都是中文来的. 有谁可以帮我解决啊?我高分县尝..

http://zhidao.baidu.com/question/11974914.html

K是字符串!
使用where子句的时候,如果数据库中字段类型为数字,却用字符串区查询,就会出错,相反也是这样的

什么是ASP啊?

1、看看数据库的字段类型
2、UTF-8编码
3、字段长度

楼主首先要明白,既然是中文,那么就是字符型的数据。
字符型的数据,在SQL里就要用''来区分。
你的代码改成:
<%
dim k
k=request.QueryString("k") '取得URL传递过来K的值并赋给新变量k(注意这两个K不是同一个东西哦,一个是URL的参数变量,另一个是ASP定义的变量)
dim asql,er
set er=server.CreateObject("adodb.recordset")

'asql="select * from Product where BigClassP="&k
'你之前的是这句,我注释掉,你对比下面我给的这句

asql="select * from Product where BigClassP='"&k &"'"
'这里我加了''引号来引用变量K。

response.write asql
'把上面的查询语句输出到浏览器看,查看实际生成的SQL语句。
'注:用response.write 把查询语句输出到浏览器里来是在ASP中常用的调试手段。

response.end
'如果在上面输出asql后还有代码要执行,就先设置这个断点,让程