【发布时间】:2015-02-01 20:21:04
【问题描述】:
我希望查询根据用户编号检索结果。另一个查询按用户名检索。我做了一些工作,但在 NetBeans 中它没有显示任何错误,并且通过输出它只是停留在最初的 if() 条件
如果我在此过程中做错了什么,请帮助我解决...
<% String val_name = request.getParameter("name");
String val_number = request.getParameter("number");
String query;
if((val_name != null)&&(val_number != null)) { %>
<h4> Use only one Column for Search </h3>
<% }
else if((val_name == null)&&(val_number == null)) { %>
<h4> Enter any Information on above field ... </h4>
<% }
else {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","hari","root"); Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","hari","root");
PreparedStatement stat;
ResultSet rs;
if(val_number != null) {
query= val_number; // user Entered only Number Field ...
String sql="SELECT * FROM EMP WHERE EMPNO= ?";
stat=con.prepareStatement(sql);
stat.setString(1,val_number);
rs=stat.executeQuery();
}
else {
query= val_name; // user Entered only Name Field ...
String sql="SELECT * FROM EMP WHERE ENAME = ?";
stat=con.prepareStatement(sql);
stat.setString(1,val_name);
rs=stat.executeQuery();
}
try {
if(rs!=null) {
%>
<br>
<table class="gridtable" border=1 cellspan=60 cellpadding=16>
<tr>
<th> Emp ID </th>
<th> Emp Name </th>
<th> Emp Dept </th>
<th> Emp D.o.B </th>
<th> Show Record </th>
<th> Record Update </th>
<th> Compassionate </th>
</tr>
<%
while(rs.next()) {
%>
<tr>
<td><%= rs.getInt("EMPNO")%> </td>
<td><%= rs.getString("ENAME") %> </td>
<td><%= rs.getString("JOB")%> </td>
<td><%= rs.getInt("DEPTNO")%> </td>
<td><button><a class="ui-button" type="button" href="/result.jsp?name="<%=name%> target="destination"> Show </a> </buton></td>
<td><button><a class="ui-button" type="button" href="/update.jsp?name="<%=name%> target="destination"> Update </a> </buton></td>
<td><button><a class="ui-button" type="button" href="/compassionate.jsp?name="<%=name%> target="destination"> Compassionate </a> </buton></td>
</tr>
<%
}
}
}
catch(SQLException e) {
e.printStackTrace();
}
con.close();
}%>
【问题讨论】:
-
请不要在 JSP 中嵌入 JDBC 代码。 Model 1 不可扩展,15 多年没有在工业中广泛使用。
-
但这只是用于测试小型应用程序... [最多 20 条记录] 好的,我会听从您的建议...但是您可以就问题提出任何建议...
-
在
if-else链之前定义ResultSet。另外,请意识到这段代码非常脆弱。 -
是的,我做了那一步..并且还编辑了..我可以看到编辑后的代码,就像你说的那样,兄弟
标签: jsp jdbc prepared-statement