我是相當新的源碼(3小時)SQLITE3發出警告的「不兼容的指針類型」
什麼,我想在這裏做的是讓一個數據庫行到自定義對象(物具有相同NR 。propertys爲NR的表中的列的......所以應該不會有問題)
所以這是我的代碼:
#import <Foundation/Foundation.h>
#import "/usr/include/sqlite3.h"
#import "Headers.h"
@interface DataDb : NSObject{
sqlite3 *database;
}
+(DataDb*)database;
+(Singleton*)getSgForIndex:(int)index;
@end
#import "DataDb.h"
@implementation DataDb
static DataDb *database;
+(DataDb*)database
{
if(database==nil){
database=[[DataDb alloc]init];
}
return database;
}
-(id)init{
if(self=[super init]){
NSString *sqliteDb =[[NSBundle mainBundle] pathForResource:@"Data" ofType:@"sqlite3"];
if(sqlite3_open([sqliteDb UTF8String], &database) !=SQLITE_OK){
NSLog(@"Failed to open database!");
return nil;
}
}
return self;
}
+(Singleton*)getSgForIndex:(int)index{
Singleton *returnSingleton =[[[Singleton alloc]init]autorelease];
NSString *query =[NSString stringWithFormat:@"SELECT * FROM Quiz WHERE Q_Id=%i",index];
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(database,[query UTF8String], -1, &statement, NULL)==SQLITE_OK) {
NSLog (@"Works!");
/*
...code...
*/
sqlite3_finalize(statement);
}else{
NSLog(@"Failed!!");
}
return returnSingleton;
}
-(void)dealloc{
sqlite3_close(database);
[super dealloc];
}
@end
..和編譯器具有以下問題在sqlite3_prepare_v2
功能:
到類型的參數不兼容的指針類型傳遞「DataDb *」「sqlite3的*」(又名「結構的sqlite3 *」)
爲了公平...代碼的一個示例代碼我發現,但它的修改版本爲有問題的人工作,我不明白爲什麼它不適用於我
告訴我你使用哪個教程 – Hector 2012-03-15 05:17:25