sqlite


sqlite 은 HSP 에서 기본으로 제공하는 API로 별도의 설정 없이 사용 가능하다.
sqlite 은 iOS 내부에서 제공하는 SQLite 을 제어할 수 있는 기능을 제공하며 Optional 한 기능이므로 사용자가 별도로 개발하여 사용해도 무방하다. 


open

open 은 디비 파일을 연다. 

options

필드설명M/O
dbName생성할 DB 명M
   

Example

DAPSqlite.open("db명", completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPSqlite open:@"db명" completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

close

close 은 디비 파일을 닫는다. 

options

필드설명M/O
dbName닫을 DB 명M
   

Example

DAPSqlite.close("db명", completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPSqlite close:@"db명" completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

executePragmaStatement

executePragmaStatement 는 open 되어 있는 디비에 Query 를 전달하여 실행 한다.

필드설명M/O
dbNameDB 명M
query실행할 Query문M
   

Example

let query = "INSERT INTO test ('_id', 'text') VALUES (1, 'TEST')"
DAPSqlite.executePragmaStatement("db명", query: query, completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
NSString *query = @"INSERT INTO test ('_id', 'text') VALUES (1, 'TEST')";
[DAPSqlite executePragmaStatement:@"db명" query:query completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

executeSqlBatch

executeSqlBatch 는 Query Array 를 전달하여 실행 한다.

필드설명M/O
dbNameDB 명M
queries실행할 Query문의 배열M
   

Example

let queries = ["INSERT INTO test ('_id', 'text') VALUES (1, 'TEST')",
"INSERT INTO test ('_id', 'text') VALUES (2, 'TEST')",
"INSERT INTO test ('_id', 'text') VALUES (3, 'TEST')"]
DAPSqlite.executeSqlBatch("db명", queries: queries, completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
NSArray *queries = [NSArray arrayWithObjects:
                   @"INSERT INTO test ('_id', 'text') VALUES (1, 'TEST')",
                   @"INSERT INTO test ('_id', 'text') VALUES (2, 'TEST')",
                   @"INSERT INTO test ('_id', 'text') VALUES (3, 'TEST')",
                   nil];
[DAPSqlite executeSqlBatch:@"db명" queries:queries completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

Error Code

CodeCauseComment
E10800파라메터 값이 잘못되어 있을 경우 
E10801전달된 액션 값이 알 수 없는 액션일 경우 
E10802DB명이 잘못되어 있을 경우 
E10803실행할 Query문이 잘못되어 있을 경우 
E10850실행 중 오류가 발생 되었을 경우 
E10851실행 중 생성 된 DB가 존재하지 않는 경우 
E10852DB Open 시 오류가 발생한 경우 
E10853Query 실행 중 오류가 발생한 경우 
E10899알 수 없는 오류가 발생 되었을 경우