========== MDatabase ========== MDb Framework 에 대한 필수 API 를 정의 --------- Db API --------- 로컬 데이터 베이스 기능에 대한 API 를 제공 DB 생성 -------------- .. js:function:: M.db.create( options ) .. versionchanged:: 2.1.0 :param Object options: 설정 값 :param String options.path: 데이터베이스 파일 이름 :param Function options.callback: 실행 결과를 확인하는 함수 .. js:function:: callback(status, name) :param String status: 실행 결과 ( SUCCESS: 성공 코드, FAIL: 실패 코드 ) :param String name: 데이터베이스 파일 이름 Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * source = path * name = path * db = path * database = path * finish = callback * onfinish = callback Example: .. code-block:: javascript M.db.create({ path:'db_name', callback: function(status, path){ console.log(status, path); } }); .. js:function:: M.db.create( name, callback ) .. versionchanged:: 2.1.0 :param String name: 데이터베이스 파일 이름 :param Function callback: 실행 결과를 확인하는 함수 * 데이터베이스 파일을 생성한다. Example: .. code-block:: javascript M.db.create('db_name', function(status, name){ console.log(status, name); }); DB 닫기 -------------- .. js:function:: M.db.close( options ) .. versionchanged:: 2.1.0 :param Object options: 설정 값 :param String options.path: 데이터베이스 파일 이름 :param Function options.callback: 실행 결과를 확인하는 함수 .. js:function:: callback(status, name) :param String status: 실행 결과 ( SUCCESS: 성공 코드, FAIL: 실패 코드 ) :param String name: 데이터베이스 파일 이름 Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * source = path * alias = path * name = path * db = path * database = path * finish = callback * onfinish = callback Example: .. code-block:: javascript M.db.close({ path:'db_name', callback: function(status, path){ console.log(status, path); } }); .. js:function:: M.db.close( name, callback ) .. versionchanged:: 2.1.0 :param String name: 데이터베이스 파일 이름 :param Function callback: 실행 결과를 확인하는 함수 * 데이터베이스 파일을 닫는다. Example: .. code-block:: javascript M.db.close('db_name', function(status, name){ console.log(status, name); }); DB 열기 -------------- .. js:function:: M.db.open( options ) .. versionchanged:: 2.1.0 :param Object options: 설정 값 :param String options.path: 데이터베이스 파일 이름 :param Function options.callback: 실행 결과를 확인하는 함수 .. js:function:: callback(status, name) :param String status: 실행 결과 ( SUCCESS: 성공 코드, FAIL: 실패 코드 ) :param String name: 데이터베이스 파일 이름 Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * source = path * alias = path * name = path * db = path * database = path * finish = callback * onfinish = callback Example: .. code-block:: javascript M.db.open({ path:'db_name', callback: function(status, path){ console.log(status, path); } }); .. js:function:: M.db.open( name, callback ) .. versionchanged:: 2.1.0 :param String name: 데이터베이스 파일 이름 :param Function callback: 실행 결과를 확인하는 함수 * 데이터베이스 파일을 연다. Example: .. code-block:: javascript M.db.open('db_name', function(status, name){ console.log(status, name); }); DB 삭제 -------------- .. js:function:: M.db.remove( options ) .. versionchanged:: 2.1.0 :param Object options: 설정 값 :param String options.path: 데이터베이스 파일 이름 :param Function options.callback: 실행 결과를 확인하는 함수 .. js:function:: callback(status, name) :param String status: 실행 결과 ( SUCCESS: 성공 코드, FAIL: 실패 코드 ) :param String name: 데이터베이스 파일 이름 Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * source = path * alias = path * name = path * db = path * database = path * finish = callback * onfinish = callback Example: .. code-block:: javascript M.db.remove({ path:'db_name', callback: function(status, path){ console.log(status, path); } }); .. js:function:: M.db.remove( name, callback ) .. versionchanged:: 2.1.0 :param String name: 데이터베이스 파일 이름 :param Function callback: 실행 결과를 확인하는 함수 * 데이터베이스 파일을 삭제한다. Example: .. code-block:: javascript M.db.remove('db_name', function(status, name){ console.log(status, name); }); DB 쿼리 -------------- .. js:function:: M.db.execute( options ) .. versionchanged:: 2.1.0 :param Object options: 설정 값 :param String options.path: 데이터베이스 파일 이름 :param String options.sql: SQL 구문 (SQL Lite) :param boolean options.multiple: 다중 쿼리 실행 여부 (default : false), 다중 쿼리 실행시 sql은 ";"로 구분 :param Function options.callback: 실행 결과를 확인하는 함수 .. js:function:: callback(status, result, name) :param String status: 실행 결과 ( SUCCESS: 성공 코드, FAIL: 실패 코드 ) :param Object result: result 객체, 쿼리 실행 결과 :param int result.column_count: 행 개수 :param int result.row_count: 결과 레코드 수 :param String result.row_list: 레코드 데이터 :param String name: 데이터베이스 파일 이름 Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * source = path * alias = path * name = path * db = path * database = path * query = sql * finish = callback * onfinish = callback Example: * DataBase 실행 (Select) .. code-block:: javascript var query = 'SELECT * FROM books'; M.db.execute({ path:'db_name', sql: query, callback: function(status, result, name){ console.log(status, path); } }); * DataBase 실행 (Insert multiple) .. code-block:: javascript var query = 'INSERT INTO books (title, author) values ("제목1", "작가1");INSERT INTO books (title, author) values ("제목2", "작가2")'; M.db.execute({ path:'db_name', sql: query, multiple: true, callback: function(status, result, name){ console.log(status, path); } }); .. js:function:: M.db.execute( name, sql, callback ) .. versionchanged:: 2.1.0 :param String name: 데이터베이스 파일 이름 :param String sql: SQL 구문 (SQL Lite) :param Function callback: 실행 결과를 확인하는 함수 * 데이터베이스 sql 쿼리를 실행한다. Example: * DataBase 실행 (Create) .. code-block:: javascript var query = 'CREATE TABLE books (id INTEGER PRIMARY KEY, title varchar(255) not null, author varchar(255) not null )' M.db.execute('db_name', query, function(status, result, name){ M.tool.log(status, result, name); alert( status + ", " + JSON.stringify(result) + ", " + name ); }); * DataBase 실행 (Insert) .. code-block:: javascript var query = 'INSERT INTO books (title, author) values ("제목1", "작가1")'; M.db.execute('db_name', query, function(status, result, name){ M.tool.log(status, result, name); alert( status + ", " + JSON.stringify(result) + ", " + name ); }); * DataBase 실행 (Select) .. code-block:: javascript var query = 'SELECT * FROM books'; M.db.execute('db_name', query, function(status, result, name){ console.log(status, result, name); });