0
我是Mac OS編程新手,面臨將SQLite數據庫集成到我的mac os項目中的問題。Mac OS編程中的SQLite
+ (void) getInitialDataToDisplay:(NSString *)dbPath {
AppDelegate* appDelegate = (AppDelegate *)[[NSApplication sharedApplication] delegate];
if (sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK) {
const char *sql = "select * from MyTable";
sqlite3_stmt *selectstmt;
if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK) {
NSLog(@"sqlite3_step(selectstmt)=%d",sqlite3_step(selectstmt));
NSLog(@"SQLITE_ROW= %d",SQLITE_ROW);
while(sqlite3_step(selectstmt) == SQLITE_ROW) {
NSInteger PrimaryKey = sqlite3_column_int(selectstmt, 0);
DatabaseInfo *databaseObj = [[DatabaseInfo alloc] initWithPrimaryKey:PrimaryKey];
databaseObj.item1 = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 1)];
databaseObj.item2 = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 2)];
[appDelegate.mutablearray_Database addObject:databaseObj];
[databaseObj release];
}
}
}
else
sqlite3_close(database);
}
在上面的方法控制器從來沒有進入while循環。這就是爲什麼我無法從數據庫中獲取數據。
任何人都可以幫助我嗎?
請給我建議使用Mac OS編程的SQLite數據庫實現的示例代碼。
+1使用FMDB。另外,我建議OP設置一個斷點以更好地理解發生了什麼。 – paulmelnikow
我寫的另一個包裝位於這裏:https://github.com/AaronBratcher/ABSQLite 它具有用更傳統的數據庫方式訪問SQLite的類,我覺得這使得事情變得更容易。 –