Initial commit
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
//
|
||||
// ParamDao.m
|
||||
// Yoosee
|
||||
//
|
||||
// Created by wutong on 15-2-2.
|
||||
// Copyright (c) 2015年 guojunyi. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ParamDao.h"
|
||||
#import "sqlite3.h"
|
||||
#import "UDManager.h"
|
||||
#import "LoginResult.h"
|
||||
|
||||
@implementation ParamDao
|
||||
-(id)init{
|
||||
if([super init]){
|
||||
if([self openDB]){
|
||||
char *errMsg;
|
||||
|
||||
if(sqlite3_exec(self.db, [[self getCreateTableString] UTF8String], NULL, NULL, &errMsg)!=SQLITE_OK){
|
||||
NSLog(@"Table Alarm failed to create.");
|
||||
sqlite3_free(errMsg);
|
||||
}
|
||||
[self closeDB];
|
||||
}
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(NSString *)getCreateTableString{
|
||||
return @"create table if not exists config(param text not null primary key, activeuser text not null, value text not null)";
|
||||
}
|
||||
|
||||
|
||||
-(NSString*)dbPath{
|
||||
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
NSString *path = [paths objectAtIndex:0];
|
||||
path = [path stringByAppendingPathComponent:DB_NAME];
|
||||
return path;
|
||||
}
|
||||
|
||||
-(BOOL)openDB{
|
||||
BOOL result = NO;
|
||||
if(sqlite3_open([[self dbPath] UTF8String], &_db)==SQLITE_OK){
|
||||
result = YES;
|
||||
}else{
|
||||
result = NO;
|
||||
NSLog(@"Failed to open database");
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
-(BOOL)closeDB{
|
||||
if(sqlite3_close(self.db)==SQLITE_OK){
|
||||
return YES;
|
||||
}else{
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
|
||||
-(int) getGuardValue
|
||||
{
|
||||
int guard = -1;
|
||||
|
||||
LoginResult *loginResult = [UDManager getLoginInfo];
|
||||
sqlite3_stmt *statement;
|
||||
if([self openDB])
|
||||
{
|
||||
NSString *SQL = [NSString stringWithFormat:@"SELECT value FROM config WHERE activeuser = \"%@\" AND param=\"%@\"",loginResult.contactId, @"QRGurd"];
|
||||
if(sqlite3_prepare_v2(self.db, [SQL UTF8String], -1, &statement, NULL)==SQLITE_OK)
|
||||
{
|
||||
while(sqlite3_step(statement)==SQLITE_ROW)
|
||||
{
|
||||
guard = sqlite3_column_int(statement, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
NSLog(@"Failed to find Message:%s",sqlite3_errmsg(self.db));
|
||||
}
|
||||
|
||||
sqlite3_finalize(statement);
|
||||
[self closeDB];
|
||||
}
|
||||
|
||||
if (guard == -1) {
|
||||
[self setGuardValue:1 bInsert:YES];
|
||||
guard = 1;
|
||||
}
|
||||
return guard;
|
||||
}
|
||||
/*
|
||||
config - param, activeuser, value
|
||||
QRGurd
|
||||
*/
|
||||
|
||||
- (void)setGuardValue:(int)value bInsert:(BOOL)bInsert
|
||||
{
|
||||
LoginResult *loginResult = [UDManager getLoginInfo];
|
||||
|
||||
sqlite3_stmt *statement;
|
||||
BOOL result = YES;
|
||||
if([self openDB]){
|
||||
NSString *sValue = [NSString stringWithFormat:@"%d",value];
|
||||
NSString *SQL = nil;
|
||||
if (!bInsert) {
|
||||
SQL = [NSString stringWithFormat:@"UPDATE config SET value = \"%@\" WHERE activeuser = \"%@\" AND param = \"%@\"", sValue, loginResult.contactId, @"QRGurd"];
|
||||
}
|
||||
else
|
||||
{
|
||||
SQL = [NSString stringWithFormat:@"INSERT INTO config(param,activeuser,value) VALUES(\"%@\",\"%@\",\"%@\")",@"QRGurd", loginResult.contactId, sValue];
|
||||
}
|
||||
if(sqlite3_prepare_v2(self.db, [SQL UTF8String], -1, &statement, NULL)!=SQLITE_OK){
|
||||
result = NO;
|
||||
}
|
||||
|
||||
if(sqlite3_step(statement)!=SQLITE_DONE){
|
||||
result = NO;
|
||||
}
|
||||
sqlite3_reset(statement);
|
||||
sqlite3_finalize(statement);
|
||||
[self closeDB];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user