|
|
@@ -238,6 +238,7 @@
|
|
|
NSString* create_location=@"CREATE TABLE IF NOT EXISTS locations ( _id INTEGER PRIMARY KEY, area VARCHAR(20), company VARCHAR(20), city VARCHAR(20), longitude VARCHAR(20), latitude VARCHAR(20) ,address VARCHAR(20), telephone VARCHAR(20) , fax VARCHAR(20), contact VARCHAR(20), email VARCHAR(20));";
|
|
|
|
|
|
|
|
|
+ NSString *create_auth_ver = @"create table if not exists auth_ver (_id integer primary key autoincrement, ver integer);";
|
|
|
|
|
|
|
|
|
// CREATE TABLE users (_id integer PRIMARY KEY,name varchar(20),pass varchar(20));
|
|
|
@@ -248,6 +249,7 @@
|
|
|
[self execSql:create_favorites db:db];
|
|
|
[self execSql:create_history db:db];
|
|
|
[self execSql:create_location db:db];
|
|
|
+ [self execSql:create_auth_ver db:db];
|
|
|
|
|
|
|
|
|
if( ![self checkForField:@"search_history" field:@"level" db:db])
|
|
|
@@ -273,5 +275,63 @@
|
|
|
DebugLog (@"bottom of initializeDb");
|
|
|
}
|
|
|
|
|
|
++ (void)jk_query:(NSString *)sql completion:(void (^)(sqlite3_stmt *, long *))query failure:(void (^)(NSString *))failure {
|
|
|
+
|
|
|
+ if (sql.length == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
+
|
|
|
+ NSString *sqlQuery = sql;
|
|
|
+ sqlite3_stmt * statement;
|
|
|
+ sqlite3 *db = [self get_db];
|
|
|
+
|
|
|
+ if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK) {
|
|
|
+
|
|
|
+ if (query) {
|
|
|
+
|
|
|
+ long count = 0;
|
|
|
+ while (sqlite3_step(statement) == SQLITE_ROW) {
|
|
|
+ query(statement,&count);
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ sqlite3_finalize(statement);
|
|
|
+ } else {
|
|
|
+ DebugLog(@"excute sql:%@ error",sql);
|
|
|
+ if (failure) {
|
|
|
+ failure(@"error");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ sqlite3_close(db);
|
|
|
+
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
++ (void)jk_excute:(NSString *)sql completion:(void (^)(BOOL))completion {
|
|
|
+ if (sql.length == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
+
|
|
|
+ sqlite3 *db = [self get_db];
|
|
|
+ if (sqlite3_exec(db, [sql UTF8String], NULL, NULL, NULL) == SQLITE_OK) {
|
|
|
+ if (completion) {
|
|
|
+ completion(YES);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ DebugLog(@"excute sql:%@ error",sql);
|
|
|
+ if (completion) {
|
|
|
+ completion(NO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ sqlite3_close(db);
|
|
|
+ });
|
|
|
+}
|
|
|
|
|
|
@end
|