gpt4 book ai didi

iphone - FMDB EXC_BAD_ACCESS 插入数据库时

转载 作者:搜寻专家 更新时间:2023-10-30 20:06:32 25 4
gpt4 key购买 nike

当我试图在我的数据库中插入一些东西时出现这个错误:

fmdb error奇怪的是,只有当我插入的表中有大约 12-14 条 previus 记录时,才会发生错误。任何人都知道如何解决这个问题?

这是我的代码:

 - (void)addToBasket:(id)sender {
NSArray *sysPaths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES );
NSString *docDirectory = [sysPaths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@/MainDatabase.db", docDirectory];

databasePath = filePath;

db = [FMDatabase databaseWithPath:databasePath];
if (![db open]) { [db release]; return; }

NSInteger prodID = ((UIControl*)sender).tag;

[db executeUpdate:@"INSERT INTO order_items VALUES (?, ?, ?, ?)", @"", [NSNumber numberWithInt:prodID], orderID, [NSNumber numberWithInt:1], nil];

[basket insertObject:[NSNumber numberWithInt:prodID] atIndex:0];
[basketQA insertObject:[NSNumber numberWithInt:1] atIndex:0];
[basketItemName insertObject:@"test" atIndex:0];
[basketPrice insertObject:@"test" atIndex:0];

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

[db close];
}

最佳答案

orderID 是什么类型?它来自哪里?你确定这不是悬垂指针?您只应将对象传递到 executeUpdate:

此外,您过度释放了 db。除非方法名称中包含 newallocretaincopy,否则返回的任何对象都是自动释放的。您不必自己发布它。

关于iphone - FMDB EXC_BAD_ACCESS 插入数据库时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10518867/

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