一个菜鸟级的问题:Jsp查询SQLServer数据库,解决立马给分!

sunlang 2004-08-17 04:45:23
希望从一个textarea获取用户输入的值,提取合适记录
代码如下:
String SelectSQL=new String();
if (request.getParameter("checkbox2")!=null)
{
if(request.getParameter("textarea2")!=null)
{
String TypeTemp=new String();
TypeTemp=(request.getParameter("textarea2"));
SelectSQL="select ItemNo,Name,Type,Size,Price,Status,Picture,Description

from restaurantmenu where Type like '%"+TypeTemp+"%'";
}
}
Type字段在数据库中定义为nvarchar类型,长度为50。

当我不输入数据时则显示所有数据,这是对的
但我输入正确的Tpye字段值时,结果却是为空,不知道为什么,大家帮帮忙。
...全文
178 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunlang 2004-08-17
  • 打赏
  • 举报
回复
解决了,谢谢各位
yultao 2004-08-17
  • 打赏
  • 举报
回复
sql语句打出来看看
alaal 2004-08-17
  • 打赏
  • 举报
回复
你的SQL语句中加%是干什么用的呢?干掉
rainworm 2004-08-17
  • 打赏
  • 举报
回复
编码问题!
你的TypeTemp是从页面取到值,应该是8859_1的编码
而sqlserver数据库用的是gbk的编码集
你把TypeTemp转成gbk的试试
TypeTemp=new String(TypeTemp.getBytes("8859_1"),"GBK");
hkz2008 2004-08-17
  • 打赏
  • 举报
回复
String TypeTemp=new String(request.getParameter("textarea2").getBytes("8859_1"),"GBK");


就可以了
dobly 2004-08-17
  • 打赏
  • 举报
回复
老兄,你先把字段名称改个试试。别用type这样的名称。
sunlang 2004-08-17
  • 打赏
  • 举报
回复
to xuyang821225(CSDN账号)
试了你的方法,还是空记录,不是空格的问题
sunlang 2004-08-17
  • 打赏
  • 举报
回复
我在文本框里输入汉字,比如“冷盘”时,结果为空,而当我输入数字12时,它却能正确显示Type的值为12的所有记录!!!
在数据库中,Type字段的值确实有冷盘,当然也有12。
xuyang821225 2004-08-17
  • 打赏
  • 举报
回复
是因为你的textarea2中有空格,所以查询的时候不匹配,加上trim()就应该行了吧
xuyang821225 2004-08-17
  • 打赏
  • 举报
回复
if(request.getParameter("textarea2").trim()!=null)
{
String TypeTemp=new String();
TypeTemp=(request.getParameter("textarea2").trim());
SelectSQL="select ItemNo,Name,Type,Size,Price,Status,Picture,Description

from restaurantmenu where Type like '%"+TypeTemp+"%'";
}
}
ymm 2004-08-17
  • 打赏
  • 举报
回复
你最好看一下你JSP,你取值的地方是不是给错对像了

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧