怎么进行模糊查询呢!
开发环境:页面用的asp + utf-8,数据库ms-sql2000,中文都采用了nvarchar
问题说明:
例如中文"女"在nvarchar里是女出现了两个问题实在是解决不了
(1)如何进行模糊查询,输入#2也能查出该条记录
(2)数据库里读出来的值进行判断老是说不等??
   sql = "select a from TableName"
   rs = conn.execute(sql)
   if (rs("a") = "女") then
     response.write("true")
   elseif (rs("a") = "女") then
     response.write("true")
   else
     response.write("false")
   end if
结果是false?

解决方案 »

  1.   

    修改了一下你的语句 你再看看
    sql = "select cast(a as varchar(100)) as a from TableName"
       rs = conn.execute(sql)
       if (rs("a") = "女") then
         response.write("true")
       elseif (rs("a") = "女") then
         response.write("true")
       else
         response.write("false")
       end if
      

  2.   

    不好意思,if (rs("a") = "女") 判断相等的cast(a as varchar(100)) as a 也没有用,只能判断 rs("a") = "女"有谁知道为什么进到数据库就成 女 了吗,页面上总不能老判断 = "女"吧,
      

  3.   

    找了半天,算是找到点了,但是不知怎么解决页面是utf-8,表单提交后sql语句就成了
    sql = "insert into TableName (Id,a) values (1,'女')"好像是和  < >这样的编码很类似,不是数据库问题,但怎么办呀??
      

  4.   

    不好意思,找到问题了,原来在gb2312下面,为了过滤"<",">","%"用了server.HTMLEncode(sql)方法,没有问题,但是到了utf-8下面就成&#22899;了,是server.HTMLEncode(sql)的问题