본문 바로가기

HTML

html5 - sqlDB 사용하기

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

// 1. db open

var db = openDatabase("sawonDb","1.0","sawon db",1024*1024);

//openDatabase(DB이름, 버전, 설명, 크기)

//DB이름은 없으면 생성 있으면 참조


// 2. create table

db.transaction(function(tx){ //transaction() : db 접근 메소드

tx.executeSql("create table if not exists sawon(sawon_id integer primary key autoincrement, sawon_name, sawon_age integer)");

});


function sqlSelect(){

db.transaction(function(tx){

tx.executeSql("select * from sawon", [], function(tx,rs){

var list = document.getElementById("list");

list.innerHTML = "";

var rows = rs.rows; // 결과를 행 단위로 읽기(배열이 될것이다)

for(var i = 0; i< rows.length; i++){

var row = rows.item(i); // 하나의 레코드 읽기

//Option(text, value) - 추가해줄 옵션을 셋팅해줌

var str = new Option(row.sawon_id + "\t" + row.sawon_name + "\t" + row.sawon_age, row.sawon_id);

list.options[list.options.length] = str; // 옵션 추가

}

});

});

}


function sqlInsert(){

var name = document.getElementById("name").value;

var age = document.getElementById("age").value;

db.transaction(function(tx){

// executeSql(sql,배열로 인서트값 작성, 인서트 후 수행할 함수)

tx.executeSql("insert into sawon(sawon_name,sawon_age) values(?,?)",[name, age], function(tx, rs){

alert(rs.insertId + "번 자료 추가 성공");

sqlSelect(); // db 자료 읽은 후, select로 보이기

});

});

}


function sqlDelete(){

db.transaction(function(tx){

var list = document.getElementById("list");

if(list.selectedIndex < 0){ // 자료가 없으면 빠져나감

return;

}

//선택된 옵션의 value를 얻음 (sqlSelect()함수에서 value와 옵션의 id가 동일하게 만들어줬음)

var selData = list.options[list.selectedIndex].value;

// alert(selData);

db.transaction(function(tx){

//executeSql(sql, 배열로?데이터입력, sql실행 후 실행할 함수)

tx.executeSql("delete from sawon where sawon_id=?", [selData], function(){

sqlSelect();

});

});

});

}


window.onload = function(){

document.getElementById("btnAdd").onclick = function(){

sqlInsert();

}

document.getElementById("btnRemove").onclick = function(){

sqlDelete();

}

sqlSelect();

}

</script>

</head>

<body>

<h2>DB 연습</h2>

이름 : <input type="text" id="name" size="10">

나이 : <input type="text" id="age" size="4">

<button id="btnAdd">저장</button>

<hr>

<select id="list" size="5" style="width:200px;"></select>

<button id="btnRemove">선택 항목 삭제</button>

</body>

</html>

'HTML' 카테고리의 다른 글

HTML5 input date에 오늘 날짜 넣기  (0) 2014.04.16
form태그의 enctype 속성  (2) 2014.04.02
HTML5 - 파일읽기  (0) 2014.02.14
HTML5 - 구글맵 사용하기  (0) 2014.02.14
html5 - webworker (쓰레드 개념) 멀티태스킹  (0) 2014.02.14