在JSP上面执行SQL语句

hnhuaguo 2009-12-17 01:44:18
我想在JSP里面执行
String sql = "SELECT * FROM FT_C_TYPE WHERE UPDATETIME = (SELECT MAX(UPDATETIME) FROM FT_C_TYPE WHERE GC_TYPE = '" + CONDITIONS + "')";
ResultSet rs = stmt.executeQuery(sql);

CONDITIONS 是输入的文本框.
为什么这个SQL语句在数据库里面执行能够运行.
在页面上就不能运行了,我少写了什么东西么?
谁能帮下我,谢谢
...全文
676 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxbot 2009-12-17
  • 打赏
  • 举报
回复
首先确认 rs.next() 该返回值为 true 然后SQL这样写
String sql = "SELECT * FROM FT_C_TYPE WHERE UPDATETIME = (SELECT MAX(UPDATETIME) FROM FT_C_TYPE WHERE GC_TYPE = " + CONDITIONS + ")";
hnhuaguo 2009-12-17
  • 打赏
  • 举报
回复
我都快郁闷死了,来个高手帮我解决下啊.......
hnhuaguo 2009-12-17
  • 打赏
  • 举报
回复
没有报错.
feitianya 2009-12-17
  • 打赏
  • 举报
回复
把这些代码放后台去执行,看会有什么错误。
hnhuaguo 2009-12-17
  • 打赏
  • 举报
回复
没有,这是我的完整源代码....
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="java.sql.*" %>

<html>
<head><title>工厂型号计划查询</title>

<script type="text/javascript">

</script>
</head>
<body bgcolor="#78da70">
<center>
<font size=4 color=blue>
<h1> 工厂型号 计划查询</h1>
</font>
<table width=200 border=0 cellpadding=0 cellspacing=0>
<tr>
<th class="panelTitle">
友情链接
</th>
</tr>
<tr>
<td class="panelBody">


<center>
<a href="http://172.30.60.54:8080/MFAT/">MICS</a>
<a href="Insert.jsp">插入页面</a>
<a href="Login.jsp">登陆</a>
</center>

</td>
</tr>
</table>
<form action="Select.jsp" method="get" name="">
<table border=1 bgcolor="#ccccff" >

<tr>
<td>
<input type="text" name="CONDITIONS" />
<input type="submit" value="查询">
</td>
</tr>
<tr>
<td>工厂型号</td>
<td>机种型号</td>
<td>去向地</td>
<td>软件版本号</td>
<td>更新时间</td>


</tr>
<%
String CONDITIONS = request.getParameter("CONDITIONS");
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@172.30.216.33:1521:MFAT";
String user="MCM";
String password="JAVA";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement();

String sql = "SELECT * FROM FT_C_TYPE WHERE GC_TYPE = '" + CONDITIONS + "'";
String hql = "SELECT * FROM FT_C_TYPE WHERE UPDATETIME = (SELECT MAX(UPDATETIME) FROM FT_C_TYPE WHERE GC_TYPE = '" + CONDITIONS + "')";
System.out.println(hql);
out.println(hql);
ResultSet rs = stmt.executeQuery(hql);

while(rs.next()){%>

<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getString(4)%></td>
<td><%=rs.getString(5)%></td>


</tr>
<%}
%>
</table>
<%rs.close();stmt.close();conn.close(); %>

</form>


</center>
</body>
</html>
laplacepc 2009-12-17
  • 打赏
  • 举报
回复


在ResultSet rs = stmt.executeQuery(hql);前面
加stmt = conn.prepareStatement(sql);

stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
阿_布 2009-12-17
  • 打赏
  • 举报
回复
看一下网页的源代码,看里面有没有输出。
hnhuaguo 2009-12-17
  • 打赏
  • 举报
回复
运行过了,SQL语句在数据库里面运行完全没有问题
yangming164 2009-12-17
  • 打赏
  • 举报
回复
如果没有异常的话,在ResultSet rs = stmt.executeQuery(sql);前面输出sql拉到数据库里运行一下就知道啦!
hnhuaguo 2009-12-17
  • 打赏
  • 举报
回复
今天被这个问题纠结很久了,哪位帮帮我啊....
hnhuaguo 2009-12-17
  • 打赏
  • 举报
回复
- -
debug.怎么不能运行DEBUG,我是MyEclipse+tomcat6.0
我的代码没有错么.?>
lingar02 2009-12-17
  • 打赏
  • 举报
回复
你用debug方式启动 让后在
String CONDITIONS = request.getParameter("CONDITIONS");
加一个断点 然后一步一步的执行 看看
阿_布 2009-12-17
  • 打赏
  • 举报
回复
在jsp页面中打印只能去页面上看,你用out.println(hql);
hnhuaguo 2009-12-17
  • 打赏
  • 举报
回复
知道,控制台就是下面那个Console里面显示的吧
没有语句,很郁闷
阿_布 2009-12-17
  • 打赏
  • 举报
回复
那就把sql打印出来在oracle中执行一下,看有没有数据。
lingar02 2009-12-17
  • 打赏
  • 举报
回复
MyEclipse 也有控制台的输出啊

System就是输出到控制台上的
hnhuaguo 2009-12-17
  • 打赏
  • 举报
回复
没有空值
我设置的是自动获取系统当前时间的
阿_布 2009-12-17
  • 打赏
  • 举报
回复
updatetime有null值吧!
hnhuaguo 2009-12-17
  • 打赏
  • 举报
回复
这个语句??
他输出在哪里?
我用的是MyEclipse
下面那个Console没有,页面上也没有
lingar02 2009-12-17
  • 打赏
  • 举报
回复
ResultSet rs = stmt.executeQuery(hql); 前加入
System.out.println(hql);
看看完整sql语句执行一下
加载更多回复(5)

81,092

社区成员

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

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