I'm doing Insert
in my SQLite, however, I'm getting it!
NSLog returns: 2014-06-01 23: 15: 35.664 goTask [25379: 60b] open Bank: open bank successfully 2014-06-01 23: 15: 35.666 goTask [25379: 60b] createTable: Table created successfully! 2014-06-01 23: 15: 41.250 goTask [25379: 60b] insertTest: Could not insert task
#import "BDManager.h"
@implementation BDManager
-(NSString *)filePath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
return [[paths objectAtIndex:0]stringByAppendingString:@"tarefas.sql"];
}
-(void)abrirBanco {
if (sqlite3_open([[self filePath]UTF8String], &_tarefasDB)!=SQLITE_OK) {
sqlite3_close(_tarefasDB);
NSLog(@"abrirBanco: Erro ao abrir o Banco");
}
NSLog(@"abrirBanco: Banco aberto com sucesso");
}
-(void)criarTabela {
char *err;
NSString *sql = @"CREATE TABLE IF NOT EXISTS TAREFASLIST (ID SERIAL, TITULO TEXT, RESPONSAVEL TEXT, DESCRICAO TEXT, ENTREGA TEXT, LEMBRETE INTEGER);";
if (sqlite3_exec(_tarefasDB, [sql UTF8String], NULL, NULL, &err)!=SQLITE_OK) {
sqlite3_close(_tarefasDB);
NSLog(@"criarTabela: Não foi possivel criar a tabela");
}
NSLog(@"criarTabela: Tabela criada com sucesso!");
}
-(void)inserirTarefa:(Tarefas *)taf {
NSDateFormatter *dtf = [[NSDateFormatter alloc]init];
NSString *date = [dtf stringFromDate:taf.entrega];
NSString *sql = [NSString stringWithFormat:@"INSERT INTO TAREFASLIST (titulo, responsavel, descricao, entrega, lembrete) VALUES (\"%@\",\"%@\",\"%@\",\"%@\",\"%i\")", taf.titulo, taf.responsavel, taf.descricao, date, taf.lembrete];
const char *insert_stmt = [sql UTF8String];
sqlite3_stmt *statement;
if(sqlite3_prepare_v2(_tarefasDB, insert_stmt, -1, &statement, NULL)!=SQLITE_OK) {
NSLog(@"inserirTarefa: Não foi possível inserir a tarefa");
sqlite3_reset(statement);
} else {
NSLog(@"inserirTarefa: Tarefa inserida com sucesso");
sqlite3_reset(statement);
}
}
-(NSMutableArray *)resgataListanaTarefa {
NSMutableArray *lista = [[NSMutableArray alloc]init];
NSString *sql = [NSString stringWithFormat:@"SELECT titulo FROM TAREFASLIST"];
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(_tarefasDB, [sql UTF8String], -1, &statement, nil)==SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {
char *ti = (char *) sqlite3_column_text(statement, 0);
NSString *titulo = [NSString stringWithUTF8String:ti];
[lista addObject:titulo];
return lista;}}
else {
NSLog(@"Não encontrado!");
return nil;
sqlite3_finalize(statement);
}
return lista;
}
@end