-1
쿼리가 사용자 번호에 따라 결과를 검색하도록합니다. 다른 검색어는 사용자 이름으로 검색합니다. 나는 몇 가지 작업을했지만 넷빈즈에 어떤 오류를 표시하지 않았고 나는이에서했던 모든 잘못 일 경우() 조건두 개의 쿼리 조건에 대해 단일 PreparedStatement를 실행하는 방법
도움말 나를 해결하기 위해 경우에 산출로 그냥 ... 처음에 붙어
<% 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 코드를 삽입하지 마십시오. [모델 1] (http://en.wikipedia.org/wiki/Model_1)은 확장 가능하지 않으며 15 년 이상 업계에서 널리 사용되지 않았습니다. –
하지만 작은 응용 프로그램 테스트 용입니다 ... [최대 20 개 레코드] 괜찮겠습니다. 질문에 대한 제안을 드릴 수 있습니까? – hari
' if-else' 체인. 또한이 코드는 매우 약해 보일 것입니다. –