Wednesday, 22 January 2014

SQL Without FMDB

- (void)viewDidLoad
{
    
    NSString *docsDir;
    NSArray *dirPaths;
    //dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    
    docsDir = [dirPaths objectAtIndex:0];//
    databasePath = [[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent: @"contacts.db"]];
     NSFileManager *filemgr = [NSFileManager defaultManager];
    if ([filemgr fileExistsAtPath: databasePath])
    {
        const char *dbpath = [databasePath UTF8String];
    
        if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
        {
            char *errMsg;
            const char *sql_stmt = "CREATE TABLE IF NOT EXISTS CONTACTS(ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, ADDRESS TEXT, PHONE TEXT)";
            if (sqlite3_exec(contactDB, sql_stmt, NULL, NULL, &errMsg)!= SQLITE_OK)
            {
                status.text = @"Failed to Create Table";
            }
            sqlite3_close(contactDB);
        }
        else
        {
            status.text = @"Failed to Open/Create Database";
        }
    }
    
    [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
//SAVED
- (void) saveData
{
    
    sqlite3_stmt *statement;
    const char *dbpath = [databasePath UTF8String];
    NSLog(@"%s",dbpath);
    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK )
    {
        NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO CONTACTS (name, address, phone) VALUES (\"%@\", \"%@\", \"%@\")", name.text, address.text, phone.text];
        const char *insert_stmt = [insertSQL UTF8String];
        
        sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement, NULL);
        if (sqlite3_step(statement) == SQLITE_DONE)
        {
            status.text = @"Contact Added";
            name.text = @"";
            address.text = @"";
            phone.text = @"";
        }
        else
        {
            status.text = @"Failed to Add Contact";
        }
        sqlite3_finalize(statement);
        sqlite3_close(contactDB);
    }
    
    

}

No comments:

Post a Comment