a simple example for sqlite

來源:互聯網
上載者:User
//#import "/usr/include/sqlite3.h" //add this to your header of code

 

- (void) saveData 
{
    sqlite3_stmt *statement; 
    const char *dbpath = [databasePath UTF8String]; 
    
    
    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)
        { 
            self.status.text = @"Contact added"; 
            self.name.text = @""; 
            self.address.text = @""; 
            self.phone.text = @""; 
        } else { 
            self.status.text = @"Failed to add contact"; 
        } 
        sqlite3_finalize(statement); 
        sqlite3_close(contactDB); 
    }
}

- (void) findContact 
{ 
    const char *dbpath = [databasePath UTF8String]; 
    sqlite3_stmt *statement; 
    
    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK) 
    { 
        NSString *querySQL = [NSString stringWithFormat: @"SELECT address, phone FROM contacts WHERE name=\"%@\"", name.text]; 
        
        const char *query_stmt = [querySQL UTF8String]; 
        
        if (sqlite3_prepare_v2(contactDB,query_stmt, -1, &statement, NULL) == SQLITE_OK) 
        { 
            if (sqlite3_step(statement) == SQLITE_ROW) 
            { 
                NSString *addressField = [[NSString alloc] initWithUTF8String: (const char *) sqlite3_column_text( statement, 0)]; 
                self.address.text = addressField; 
                NSString *phoneField = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 1)]; 
                
                self.phone.text = phoneField; 
                
                self.status.text = @"Match found"; 
            } else { 
                self.status.text = @"Match not found";
                self.address.text = @""; 
                self.phone.text = @""; 
            } 
            sqlite3_finalize(statement); 
        } 
        sqlite3_close(contactDB); 
    }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.