gpt4 book ai didi

objective-c - sqlite3_exec == SQLITE_OK 失败

转载 作者:行者123 更新时间:2023-12-03 18:53:34 25 4
gpt4 key购买 nike

我是在 Objective-C 中开发的新手,并且正在努力进入 IF 语句(sqlite3_exec==SQLITE_OK)。我一直在使用教程,但似乎无法找到我的答案。

有人能告诉我我哪里出错了吗?

-(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 助手,用于执行一般数据库任务,只需几行代码,例如从数据库中获取记录、插入、更新和删除记录。
Source code can be found here with example

下载并拖放 ZeeSQLiteHelper 类到您的项目中,并在 ZeeSQLiteHelper 类中设置您的数据库名称。

获取记录示例:

[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];

成功或失败的相应消息将记录在控制台上。

关于objective-c - sqlite3_exec == SQLITE_OK 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com