ResultSet 읽기
//rs는 기본적으로 커서를 next() 이동을 합
//만약 역으로 이동하고 싶다면, 또는 특정한 위치로 이동시키고 싶다면
//Statement나 PreparedStatement를 얻어올 때 옵션을 지정해야한다.
//=> 이 경우는 rs의 next()만 지원된다.
rs.afterLast(); //커서를 마지막행의 직후에 위치시킨다.
rs.beforeFirst(); //첫번째 행의 직전에 위치시킨다.
rs.first(); //첫번째 행에 위치
rs.last(); //마지막 행에 위치
rs.absolute(n); //특정 위치로 이동시킨다.
n이 양수이면 next() , 음수이면 previous();
rs.getRow(); //실제 커서가 위치한 곳의 행의 번호를 반환
package jdbc.day05;
import java.sql.*;
import jdbc.util.DBUtil;
public class ReverseSelect {
public static void main(String[] args) throws Exception{
Connection con = DBUtil.getCon();
String sql = "SELECT * FROM memo ORDER BY IDX ASC";
//커서를 자유자재로 이동시키려면 TYPE_SCROLL_SENSITIVE 도는
//TYPE_SCROLL_INSENSITIVE 옵션을 주어야 함
PreparedStatement ps = con.prepareCall(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
//ResultSet.CONCUR_READ_ONLY : 결과테이블을 읽기 전용으로만 사용하겠단 의미
ResultSet rs =ps.executeQuery();
System.out.println("========================");
System.out.println("글번호\t작성자\t메모내용");
rs.afterLast();//커서를 마지막행의 직후에 위치시킨다.
while(rs.previous()) {
int idx=rs.getInt("idx");
String name = rs.getString("name");
String msg = rs.getString("msg");
System.out.println(idx+"\t"+name+"\t"+msg);
}
System.out.println("========================");
rs.close();
ps.close();
con.close();
}
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
javascript 함수
eval() 계산식을 계산해주는 함수
Boolean() string을 boolean으로 바꿔주는 함수
Boolean(0) 은 false , 1을 넣으면 true 비어있으면 false, 들어있으면 true를 반환한다.
// == 값이 같으면 true 다르면 false
// === 자료형과 값이 같으면 true, 하나라도 다르면 false
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var str = "30/5";
document.write(eval(str));
document.write("<hr color='red'>");
var d= true;
var e= "false";
document.write("d의 자료형"+typeof(d)+"<br>");
document.write("e의 자료형"+typeof(Boolean(e))+"<br>");
//문자열로 바꿔주는 방법
var g= 10.123;
var h =g+"";
var i =String(g);
var x=5;
var y="5.0";
//자료형이 달라도 값이 같으면 true, 다르면 false
document.write("x==y: "+(x==y),"<br>");
document.write("x===y: "+(x===y),"<br>");
</script>
</body>
</html>
제어문 - for loop
//실습1 promt()로 구구단의 단을 입력받고
//해당 구구단을 출려하되 table 태그를 이용해 출력
//실습2 입력받은 단이 짝수일 경우는 td의 배경색을 노란색으로
//홀수일 경우는 td의 배경생을 하늘색으로 주기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>제어문 - for 루프</h1>
<script>
for(var i=0;i<5;i++){
document.write("<h1> Hello JavaScript"+i+"</h1>");
}
for(j=3;j>0;j--){
document.write("<h2> Hello JavaScript"+j+"</h2>");
}
var s = window.prompt("색깔");
var t = window.prompt("구구단");
if(s%2==0){
co="yellow";
}else{
co="skyblue";
}
var str="<table style='width:200px' border='1'>";
str+="<tr>";
for(var i=1;i<=9;i++){
str+="<td style='background-color:"+co+"'>";
str+=t+"x"+i+"="+(t*i)+"<br>";
str+="</td>";
}
str+="</tr>";
str+="</table>";
document.write(str);
</script>
</body>
</html>
JavaScript 테이블 실습
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1> 3행 5열의 테이블을 출력하되, 자바스크립트의 for루프를 이용하세요</h1>
<script>
//table의 폭은 500px, border두께 1
var str="";
str+="<table style='width:500px' border='1'>";
for(var i=1;i<=3;i++){
str+="<tr>";
for(var j=1;j<=5;j++){
str+="<td>";
str+=i+"행 "+j+"열";
str+="</td>";
}
str+="</tr>";
}
str+="</table>"
document.write(str);
</script>
<hr color='red'>
<h1> 행의 수와 열의 수, 배경생을 prompt로 입력받으세요</h1>
<script>
var row = window.prompt("행",3);
var column = window.prompt("행",5);
var color = window.prompt("색깔","green");
var str="";
str+="<table style='width:500px' border='1'>";
for(var i=1;i<=row;i++){
str+="<tr>";
for(var j=1;j<=column;j++){
str+="<td style='background-color:"+color+"'>";
str+=i+"행 "+j+"열";
str+="</td>";
}
str+="</tr>";
}
str+="</table>"
document.write(str);
</script>
<h1>구구단 전체를 테이블 형태로 만드세요</h1>
<script>
var str="";
str+="<table style='width:500px' border='1'>";
for(var i=1;i<=9;i++){
str+="<tr>";
for(var j=1;j<=9;j++){
str+="<td>";
str+=i+"x"+j+"="+i*j;
str+="</td>";4
}
str+="</tr>";
}
str+="</table>"
document.write(str);
</script>
</body>
</html>