Objective c sqlite3_exec==SQLITE_正常故障
我刚开始使用objective C进行开发,现在正努力使用IF语句(sqlite3_exec==SQLITE_OK)。我一直在使用教程,似乎找不到我的答案 有人能告诉我哪里出了问题吗Objective c sqlite3_exec==SQLITE_正常故障,objective-c,sqlite,Objective C,Sqlite,我刚开始使用objective C进行开发,现在正努力使用IF语句(sqlite3_exec==SQLITE_OK)。我一直在使用教程,似乎找不到我的答案 有人能告诉我哪里出了问题吗 -(IBAction)addItemButton:(id)sender { char *error; if (sqlite3_open([dbPathString UTF8String], &itemDB) == SQLITE_OK) { NSString *insertS
-(IBAction)addItemButton:(id)sender {
char *error;
if (sqlite3_open([dbPathString UTF8String], &itemDB) == SQLITE_OK) {
NSString *insertStat = [NSString stringWithFormat:@"INSERT INTO ITEMS(ITEM) values ('%s')", [self.itemField.text UTF8String]];
const char *insert_stat = [insertStat UTF8String];
if (sqlite3_exec(itemDB, insert_stat, NULL, NULL, &error)== SQLITE_OK) {
NSLog(@"Item Added");
Item *item = [[Item alloc]init];
[item setItem:self.itemField.text];
[arrayOfItem addObject:item];
}else{
NSLog(@"Item not added");
}
sqlite3_close(itemDB);
}
}
我编写了一个简单的SQLite帮助程序,用于执行一般的数据库任务,只需几行代码,例如从DB中获取记录、插入、更新和删除记录。 在项目中下载并拖动ZeeSQLiteHelper类,并在ZeeSQLiteHelper类中设置DB名称 获取记录示例:
[ZeeSQLiteHelper initializeSQLiteDB];
NSString *query = @"SELECT * FROM recipes";
NSMutableArray *results = [ZeeSQLiteHelper readQueryFromDB:query];
[ZeeSQLiteHelper closeDatabase];
用于插入
[ZeeSQLiteHelper initializeSQLiteDB];
NSString *queryString = [NSString stringWithFormat:@"insert into %@ (%@,%@) VALUES ('%@','%@')",downloadsTblName, tblAttrFileName, tblAttrFileURL, downloadInfo.fileName, downloadInfo.fileURL];
[ZeeSQLiteHelper executeQuery:queryString];
[ZeeSQLiteHelper closeDatabase];
[ZeeSQLiteHelper initializeSQLiteDB];
NSString *queryString = [NSString stringWithFormat:@"UPDATE %@ SET %@='%@' WHERE %@='%@'",downloadsTblName, tblAttrFileName, newFilePath.lastPathComponent, tblAttrFileName,oldFilePath.lastPathComponent];
[ZeeSQLiteHelper executeQuery:queryString];
[ZeeSQLiteHelper closeDatabase];
[ZeeSQLiteHelper initializeSQLiteDB];
NSString *queryString = [NSString stringWithFormat:@"DELETE FROM %@ WHERE %@='%@'",downloadsTblName, tblAttrFileName,downloadedFileObj.videoTitle];
[ZeeSQLiteHelper executeQuery:queryString];
[ZeeSQLiteHelper closeDatabase];
用于更新
[ZeeSQLiteHelper initializeSQLiteDB];
NSString *queryString = [NSString stringWithFormat:@"insert into %@ (%@,%@) VALUES ('%@','%@')",downloadsTblName, tblAttrFileName, tblAttrFileURL, downloadInfo.fileName, downloadInfo.fileURL];
[ZeeSQLiteHelper executeQuery:queryString];
[ZeeSQLiteHelper closeDatabase];
[ZeeSQLiteHelper initializeSQLiteDB];
NSString *queryString = [NSString stringWithFormat:@"UPDATE %@ SET %@='%@' WHERE %@='%@'",downloadsTblName, tblAttrFileName, newFilePath.lastPathComponent, tblAttrFileName,oldFilePath.lastPathComponent];
[ZeeSQLiteHelper executeQuery:queryString];
[ZeeSQLiteHelper closeDatabase];
[ZeeSQLiteHelper initializeSQLiteDB];
NSString *queryString = [NSString stringWithFormat:@"DELETE FROM %@ WHERE %@='%@'",downloadsTblName, tblAttrFileName,downloadedFileObj.videoTitle];
[ZeeSQLiteHelper executeQuery:queryString];
[ZeeSQLiteHelper closeDatabase];
用于删除
[ZeeSQLiteHelper initializeSQLiteDB];
NSString *queryString = [NSString stringWithFormat:@"insert into %@ (%@,%@) VALUES ('%@','%@')",downloadsTblName, tblAttrFileName, tblAttrFileURL, downloadInfo.fileName, downloadInfo.fileURL];
[ZeeSQLiteHelper executeQuery:queryString];
[ZeeSQLiteHelper closeDatabase];
[ZeeSQLiteHelper initializeSQLiteDB];
NSString *queryString = [NSString stringWithFormat:@"UPDATE %@ SET %@='%@' WHERE %@='%@'",downloadsTblName, tblAttrFileName, newFilePath.lastPathComponent, tblAttrFileName,oldFilePath.lastPathComponent];
[ZeeSQLiteHelper executeQuery:queryString];
[ZeeSQLiteHelper closeDatabase];
[ZeeSQLiteHelper initializeSQLiteDB];
NSString *queryString = [NSString stringWithFormat:@"DELETE FROM %@ WHERE %@='%@'",downloadsTblName, tblAttrFileName,downloadedFileObj.videoTitle];
[ZeeSQLiteHelper executeQuery:queryString];
[ZeeSQLiteHelper closeDatabase];
控制台上将记录相应的成功或失败消息。是否尝试在SQLlite中插入行?请参阅。这是iOS/MAC OS X上sqlite的一个很好的框架。你可以在它的代码中找到答案,还可以记录返回的内容。hi user2071152是的,但它没有进入代码的这一部分。