0
您好我是新來iphone,我試圖從數據庫中選擇的值我通過sqlite3_bind_int()給出條件的所有工作原理(即數據庫打開),但是當我編譯行sqlite3_step(語句)它不會獲取值但根據我的查詢它應該獲取值。我不知道天氣的價值是綁定的。爲什麼sqlite3_bind_int不能在我的代碼中工作?
將值綁定到sqlite3_bind_int()後,如何通過NSLog()檢查完整查詢。
下面是我所使用的代碼,plz幫助我
- (void) getDataToDisplay:(NSString *)dbPath
{
if (sqlite3_open([dbPath UTF8String], &MYDB) == SQLITE_OK)
{
const char *sql;
sql="select name,address,phonenumber from doctorlist where sno between %d and %d";
if(sqlite3_prepare_v2(MYDB, sql, -1, &mystmt, NULL) != SQLITE_OK)
{
NSLOG(@"Insert Values");
}
sqlite3_bind_int(mystmt,1,10);
sqlite3_bind_int(mystmt, 2,15);
while(sqlite3_step(mystmt) == SQLITE_ROW)
{
[DoctorName addObject:[NSString stringWithString:[NSString stringWithUTF8String:(char *)sqlite3_column_text(mystmt, 0)]]];
[DoctorAddress addObject:[NSString stringWithString:[NSString stringWithUTF8String:(char *)sqlite3_column_text(mystmt, 1)]]];
[PhoneNumber addObject:[NSString stringWithString:[NSString stringWithUTF8String:(char *)sqlite3_column_text(mystmt, 2)]]];
}
}
sqlite3_reset(mystmt);
if(MYDB)sqlite3_close(MYDB);
}
在此先感謝
你爲什麼不使用CoreData?非常容易,代碼脆弱得多,而且非常可能顯着更快。 – bbum 2010-06-18 15:54:34
+1對於coredata,但如果您必須使用sqlite,爲什麼不使用包裝? – 2010-06-18 17:40:13