jsp数据库查询

我在做jsp的数据查询操作。我的数据库中的表my_talbe中有nian_fen(年份)这个字段,现在我希望在一个页面(假设为input.jsp)中填入开始年份(xxxx... 我在做jsp的数据查询操作。我的数据库中的表my_talbe中有nian_fen(年份)这个字段,现在我希望在一个页面(假设为input.jsp)中填入开始年份(xxxx)和结束年份(yyyy),然后提交表单(打开action的页面,假设为search.jsp),然后系统显示出从xxxx年到yyyy年的记录。

我在search.jsp中首先要获得表单中开始年份和结束年份的值,如:
String kai_shi_nian_fen = new String(request.getParameter("kai_shi_nian_fen").getBytes("ISO8859_1"),"GBK");
String jie_shu_nian_fen = new String(request.getParameter("jie_shu_nian_fen").getBytes("ISO8859_1"),"GBK");

然后,我写的下面这句sql有错:
sql = "select * from my_table where nian_fen>kai_shi_nian_fen and nian_fen<jie_shu_nian_fen";

但是,如果将两个变量kai_shi_nian_fen和jie_shu_nian_fen改为确定的值则没有问题。错误的原因好像就是因为这两个变量有误。

请问,这句sql语句该怎么写????
展开
 我来答
用户明月照我心9456
2008-06-18 · TA获得超过264个赞
知道答主
回答量:199
采纳率:0%
帮助的人:0
展开全部
sql = "select * from my_table where nian_fen>"+kai_shi_nian_fen +"and nian_fen<"+jie_shu_nian_fen;

你这样试试,引号内是你要穿给sql的最终值,而显然kai_shi_nian_fen 不是你要真正加到sql中的,你需要的是他的值,所以要放在引号外面,用加号链接。
WildBoarRider
2008-06-18 · TA获得超过172个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:0
展开全部
首先你要先确定数据库的字段类型Date还是char(varchar..),如果是字符就像你那样比较就可以了,如果是Date类型你应该进行转换然后再进行比较
转换成Date可以在JAVA中实现或数据库中:
JAVA中可以将String转换为timestamp\java.sql.Date或 SimpleDateFormat然后再进行比较
在数据库中可以用:在2001到2008之间
nian_fen >=to_date('20010000000000','yyyymmddhh24miss') and nian_fen <=to_date('20080000000000','yyyymmddhh24miss')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1afc1518c
2008-06-18
知道答主
回答量:12
采纳率:0%
帮助的人:4.4万
展开全部
sql = "select * from my_table where nian_fen>'"+kai_shi_nian_fen +"'and nian_fen<'"+jie_shu_nian_fen"'";
由于kai_shi_nian_fen是字符串,所以要用””引起来
又由于”kai_shi_nian_fen”在””里,所以要用’’把
”kai_shi_nian_fen”引起来,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
糊涂店长
2008-06-25 · 超过34用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:69.4万
展开全部
sql = "select * from my_table where nian_fen>"+kai_shi_nian_fen +"and nian_fen<"+jie_shu_nian_fen;
一楼正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式