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
})
// TODO
}, failure: { error in
// TODO
})
[DAPSqlite open:@"db명" completion:^(NSDictionary *resultDict) {
// TODO
} failure:^(NSError *error) {
// TODO
}];
// 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
})
// TODO
}, failure: { error in
// TODO
})
[DAPSqlite close:@"db명" completion:^(NSDictionary *resultDict) {
// TODO
} failure:^(NSError *error) {
// TODO
}];
// TODO
} failure:^(NSError *error) {
// TODO
}];
executePragmaStatement
executePragmaStatement 는 open 되어 있는 디비에 Query 를 전달하여 실행 한다.
필드 | 설명 | M/O |
---|---|---|
dbName | DB 명 | 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
})
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
}];
[DAPSqlite executePragmaStatement:@"db명" query:query completion:^(NSDictionary *resultDict) {
// TODO
} failure:^(NSError *error) {
// TODO
}];
executeSqlBatch
executeSqlBatch 는 Query Array 를 전달하여 실행 한다.
필드 | 설명 | M/O |
---|---|---|
dbName | DB 명 | 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
})
"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
}];
@"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
Code | Cause | Comment |
---|---|---|
E10800 | 파라메터 값이 잘못되어 있을 경우 | |
E10801 | 전달된 액션 값이 알 수 없는 액션일 경우 | |
E10802 | DB명이 잘못되어 있을 경우 | |
E10803 | 실행할 Query문이 잘못되어 있을 경우 | |
E10850 | 실행 중 오류가 발생 되었을 경우 | |
E10851 | 실행 중 생성 된 DB가 존재하지 않는 경우 | |
E10852 | DB Open 시 오류가 발생한 경우 | |
E10853 | Query 실행 중 오류가 발생한 경우 | |
E10899 | 알 수 없는 오류가 발생 되었을 경우 | |