【发布时间】:2014-06-23 11:40:54
【问题描述】:
嗨,在我的应用程序中,我有数据要插入到我的sqlite 数据库中。所以我已经成功创建了数据库,但问题是它没有将数据插入数据库。
我的数据库创建代码。
- (void)createDatabase
{
NSArray *directories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *doctumentsDirectory = [directories lastObject];
self.databasePath = [[NSString alloc] initWithString:[doctumentsDirectory stringByAppendingPathComponent:@"/bp.sqlite"]];
NSFileManager *fileManager = [NSFileManager defaultManager];
// create DB if it does not already exists
if (![fileManager fileExistsAtPath:self.databasePath]) {
const char *dbPath = [self.databasePath UTF8String];
if (sqlite3_open(dbPath, &_myDataBase) == SQLITE_OK) {
char *errorMsg;
const char *sql_statement = "CREATE TABLE IF NOT EXISTS br (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, COST TEXT,QUTY TEXT)";
if (sqlite3_exec(_myDataBase, sql_statement, NULL, NULL, &errorMsg) != SQLITE_OK) {
[self errorCreatingTable:[NSString stringWithFormat:@"failed creating table. ERROR:%s", errorMsg]];
}
sqlite3_close(_myDataBase);
} else {
[self errorCreatingTable:@"failed openning / creating table"];
}
}
}
我的插入代码我有 UIButton 操作方法,我在其中提供我的插入代码。
-(void)aMethod2:(UIButton*)sender
{
NSString *inr=[intarr objectAtIndex:sender.tag];
NSLog(@"%@",inr);
NSString *item=[self.menuarray objectAtIndex:sender.tag];
NSLog(@"%@",item);
NSString *cost=[self.menuarray1 objectAtIndex:sender.tag];
NSLog(@"%@",cost);
NSString *sql = [NSString stringWithFormat:@"INSERT INTO br ('NAME','COST','QUTY') VALUES ('%@','%@','%@')",item,cost,inr];
NSLog(@"%@",sql);
}
我已经使用上面的代码来获取数据并插入到我的数据库中,但是值都正确传递了问题是它没有插入到我的数据库中请告诉我如何解决这个问题我已经卡在这里很长时间了帮助我.
谢谢。
【问题讨论】:
-
aMethod2在哪里访问数据库? -
@CL。这是我的 uibutton aciton 方法