❓ 출력 프로그램 만들기
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSetMetaData"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>간단한 select 구문 실행 결과 확인</title>
<link rel="stylesheet" href="../css/main.css">
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String sql = request.getParameter("sql");
%>
<form method="post">
<textarea cols="60" rows="5" name="sql"><%=(sql==null)?"":sql %></textarea>
<input type="submit" value="실행" >
</form>
<%
Connection conn = null;
if(sql != null && !sql.trim().equals("")) { //입력된 구문이 존재.
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:xe","kic","1234");
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery(); //입력한 sql문장 실행
ResultSetMetaData rsmt = rs.getMetaData();
//sql : select * from emp
// select count(*) from (select * from emp) a
PreparedStatement pstmt2 =
conn.prepareStatement("select count(*) from (" + sql + ") a");
ResultSet rs2 = pstmt2.executeQuery(); // sql 구문을 실행한경우 조회되는 레코드 건수
rs2.next();
int cnt = rs2.getInt(1); //첫번째 컬럼(count(*))의 값
%>
<table>
<tr><td colspan="<%=rsmt.getColumnCount()%>"
style="text-align: right;">
조회된 레코드 갯수:<%=cnt %></td></tr>
<tr>
<% //조회된 컬럼명 출력
for(int i=1;i<=rsmt.getColumnCount();i++) {%>
<th><%=rsmt.getColumnName(i)%></th>
<% } %>
</tr>
<tr>
<% //조회된 컬럼명 출력
// for(int i=1;i<=rsmt.getColumnCount();i++) {
// out.println("<th>"+rsmt.getColumnName(i)+ "</th>");
//} %>
</tr>
<% //데이터 출력
while(rs.next()) { %><tr>
<% for(int i=1;i<=rsmt.getColumnCount();i++) {%>
<td><%=rs.getString(i) %></td><% } %>
<% }%></tr>
</table>
<% } catch (Exception e) { %>
<h1>sql 구문 오류 입니다.<br>
<%=e.getMessage() %><br>
sql 구문 :<%=sql%> </h1>
<% } finally {
conn.close();
}
}%>
</body>
</html>
'수업 문제(국비 지원) > JSP' 카테고리의 다른 글
| [JSP] 2022.10.06 (EL언어 문제 (if,choose 조건문), bookForm.jsp 동작하도록 book.jsp 구현하기 ) (0) | 2023.04.29 |
|---|---|
| [JSP] 2022.10.05 (회원정보 수정-이미지 변경) (0) | 2023.04.29 |
| [JSP] 2022.09.30(비밀번호 수정) (0) | 2023.04.29 |
| [JSP] 2022.09.29(박명록 조회,결과) (0) | 2023.04.29 |
| [JSP] 2022.09.26 (글자체 지정하기, select 태그 연습) (0) | 2023.04.29 |