检索数据时数据库崩溃问题

2024-01-24

enter image description here This is the Database field values.

下面是我用来从 sqlite 数据库获取数据的代码

-(void)readDataFromRestaurantTable
{
    [self openDataBase];

    const char *dbpath = [databasePath UTF8String];

    if (sqlite3_open(dbpath, & database) == SQLITE_OK)
    {
        sqlite3_stmt  *statement = NULL;

        NSString *querySQL = [NSString stringWithFormat: @"SELECT * FROM RestaurantDB"];
        const char *query_stmt = [querySQL UTF8String];

        if (sqlite3_prepare_v2(database, query_stmt, -1, &statement, NULL) == SQLITE_OK) {

            while (sqlite3_step(statement) == SQLITE_ROW)
            {
                strRestaurantName = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 1)];
                strRestaurantAddress = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 2)];
                strRestaurantPhone = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 3)];
                strRestaurantLatitude = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 4)];
                strRestaurantLongitude = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 5)];

                NSLog(@"strRestaurantName :--> %@",strRestaurantName);
            }
        }
        sqlite3_finalize(statement);
    }
    sqlite3_close(database);
}

在前面的代码块中,应用程序不会进入

if (sqlite3_prepare_v2(database, query_stmt, -1, &statement, NULL) == SQLITE_OK)
{

}

这是得到语句 = 0x00000000我认为正是因为这个原因,它才不会进入 if 块。

崩溃时出错

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSPlaceholderString initWithUTF8String:]: NULL cString'
First throw call stack:
(0x18dc012 0x12a1e7e 0x18dbdeb 0xcbdce6 0x78e4 0x7bdf 0x2ca817 0x2ca882 0x2ebed9 0x2ebd14 0x2ea1ea 0x2ea06c 0x2ebc57 0x12b5705 0x1ec920 0x1ec8b8 0x40f0b4 0x12b5705 0x1ec920 0x1ec8b8 0x2ad671 0x2adbcf 0x2ad6a6 0x412bb9 0x12b5705 0x1ec920 0x1ec8b8 0x2ad671 0x2adbcf 0x2acd38 0x21c33f 0x21c552 0x1fa3aa 0x1ebcf8 0x1da5df9 0x185ff3f 0x185f96f 0x1882734 0x1881f44 0x1881e1b 0x1da47e3 0x1da4668 0x1e965c 0x2712 0x2645 0x1)
libc++abi.dylib: terminate called throwing an exception

请指导我实际问题出在哪里。


这是由于尝试使用 a 创建 NSString 对象引起的NULL细绳。它位于以下行之一:

[[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, ...)];

因此,在使用 sql 语句的结果创建 NSString 之前,您需要像这样检查 NULL:

char *tmp = sqlite3_column_text(statement, 1);
if (tmp == NULL)
    strRestaurantName = nil;
else
    strRestaurantName = [[NSString alloc] initWithUTF8String:tmp];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检索数据时数据库崩溃问题 的相关文章

  • UILocalizedIndexedCollat​​ion的sectionForObject:(id)object collat​​ionStringSelector:(SEL)selector方法中selector的作用是什么

    我是 iOS 开发的初学者 正在经历this https developer apple com library ios documentation UserExperience Conceptual TableView iPhone Cr
  • iPhone UITableView 分页结果

    对从服务器拉取的大量结果进行分页的最佳方法是什么 就服务器而言 我可以抵消和限制结果 因此我一次只能提取 25 个结果 但是允许用户查看更多结果而不需要像应用商店一样不断向下滚动不断增长的列表的最佳方式是什么应用程序 谢谢 豪伊 要在列表底
  • SQLite - 左连接

    我需要进行这样的查询 SELECT table1 table2 column FROM table1 LEFT JOIN table2 ON table1 column table2 column 但这不起作用 如果我尝试相同的查询但替换第
  • NSHTTPCookieStorage 是否跨应用程序持续存在?

    所以我只是好奇 NSHTTPCookieStorage 是否跨应用程序持久存在 或者仅在当前应用程序本地 我希望在另一个应用程序中收集的一些 cookie 可以在搜索应用程序中访问 是这样的吗 谢谢 PS 这是在 iPhone 或 iPad
  • 带有子视图的 UIView beginAnimations

    我有一个漂亮且简单的视图 缩放 动画 它以一个点开始并动画到全屏尺寸 UIView beginAnimations nil context NULL UIView setAnimationBeginsFromCurrentState YES
  • SQlite 获取最近的位置(带有纬度和经度)

    我的 SQLite 数据库中存储有纬度和经度的数据 我想获取距我输入的参数最近的位置 例如我当前的位置 纬度 经度等 我知道这在 MySQL 中是可能的 并且我已经做了相当多的研究 SQLite 需要一个自定义外部函数来实现半正弦公式 计算
  • 如何建立辅助NSSortDescriptor排序键?

    我已成功按排序键对数据进行排序lastName 但我想知道如何排序lastName 然后由firstName 这是我用来排序的代码lastName NSSortDescriptor sortDescriptor NSSortDescript
  • Objective-C:在哪里定义宏以便随处可用?

    我有一个 iOS 应用程序 它在许多视图控制器中使用相同的字符串 数字等 所以我认为最好在一个文件中定义这些常量并在所有视图控制器实现中使用它 优点是更改一个数字 我只需要做一次 而不是在所有视图控制器中都使用该数字 实际上 我的 h 文件
  • iPhone 中的 NSNotification

    我正在将 NSSNotifcation 发送到 iPhone 应用程序中的另一个视图控制器 但它的观察者方法收到两次通知 这可能如何 任何人都可以指导我 我已经使用此代码来发布通知 NSNotificationCenter defaultC
  • iPad 照片选择器崩溃

    我正在使用以下函数根据 UIActionSheet 的结果激活设备相机或图像选择器 如果 fromCamera YES 那么它适用于 iPhone 和 iPad 如果 fromCamera NO 那么它可以在 iPhone 上运行并出现图像
  • 是否有针对不同屏幕尺寸的单独故事板?

    基本上我已经完成了一个应用程序 我唯一的问题是 ATM 机应用程序在设计时只考虑了 4 英寸显示屏 当在 3 5 英寸模拟器上运行时 应用程序会丢失 0 5 英寸 显然 那么我的问题是 如何在 Xcode 5 中为不同的屏幕尺寸设置不同的故
  • 如何禁用 UITableView 中某些行的删除操作?

    我知道使用setEditing 启用UITableView的编辑模式 但我更喜欢禁用某些特定行的操作 启用其他行 是否可以 Thanks interdev 实施the tableView canEditRowAtIndexPath meth
  • NSString – 静态还是内联?有性能提升吗?

    如果我写的话会有任何性能提升吗 NSString helloStringWithName NSString name static NSString formatString Hello return NSString stringWith
  • 使用 iPhone 中的地图视图读取当前位置名称

    我读取了当前位置的纬度和经度值 然后成功将该位置固定在 iPhone 中 现在我想使用这个纬度和经度值读取该地名 我使用以下代码来读取查找当前位置 void mapView MKMapView mapView1 didUpdateUserL
  • 在横向中自动调整 UITableCells 内容的大小

    在 UITableView 中 我通过 UILabels 将内容添加到单元格中 定义最佳尺寸 与单元格宽度允许的一样大 我注意到只有tableView contentSize width是可靠的 因为cell contentView bou
  • 如何在 SQLite 中将时间戳转换为字符串?

    我有一个表 其中存储了时间戳 以毫秒为单位 我想将这些时间戳转换为人类可读的形式 这是我的表的输出示例 SELECT date raw strftime d m Y date 1000 as string FROM my table raw
  • 忽略触摸事件,让其下面的视图处理触摸?

    我有一个用户可以触摸的可拖动视图 但它的某些矩形将没有图像 alpha 0 当用户单击透明区域时 我能够在没有 alpha 信息的情况下构造透明区域 我希望透明区域下方的视图 同一类 来检测触摸 我的策略是当用户触摸透明区域时让视图忽略触摸
  • 如何禁用 iPhone 邮件应用程序中的电话号码链接?

    我的公司正在发送数字电子邮件收据 但遇到了 iPhone Mail 检测数字数据并将其自动链接为电话号码的问题 我已经看到元标记应该可以解决 iPhone 上的 Mobil Safari 中的问题 但该技巧似乎不适用于 Mail 有谁知道如
  • 以编程方式使用 Stack Overflow 进行身份验证

    我想在我的 iPhone 应用程序中添加赞成和反对投票 MyStacks http itunes apple com gb app mystacks id360030953 mt 8 为此 我需要能够使用 Stack Overflow 对用
  • 加载新控制器时,iPhone 横向模式切换到纵向模式

    我的应用程序在横向模式下正确启动并且运行良好 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation interfaceOrientation if interf

随机推荐

  • 将图像裁剪为正方形 - Android

    如何从左侧和右侧剪切矩形图像 600 x 300 以适合方形 ImageView 我不想调整图像大小 我只想将其裁剪为 300 x 300 解决方案 正如 blackbelt所说 Bitmap cropImg Bitmap createBi
  • 如何将 Aeson 的解析器与 IO 结合使用

    我的数据类型包含许多字段 如果不是由 JSON 配置文件手动指定 则应随机设置 我正在使用 Aeson 来解析配置文件 做这个的最好方式是什么 目前 我将值设置为等于某个不可能的值 然后检查该值以进行编辑 data Example Exam
  • iPhone:点击透明 UIScrollView 后面的视图

    我有一个 UIScrollView 设置为具有清晰的背景 滚动视图的一部分确实有内容 但一部分没有 因此它显示了后面的其他视图 我希望能够单击 UIScrollView 并单击后面的 MKMapView 但仅限于 UIScrollView
  • oracle存储过程中如何创建和使用临时表?

    我想在存储过程中创建临时表并以相同的方式访问它 但出现错误ORA 00942 Table or view does not exists 以下是我尝试过的过程 Create procedure myproc IS stmt varchar2
  • Flutter firebase 消息传递中的双重通知

    最近我升级到 firebase messaging 10 0 0 当应用程序未运行时 如果收到通知 它会显示两次 我收到后在代码中修改了通知数据并显示了它 即使如此 我也可以看到已修改和未修改的通知 我不知道该通知在哪里触发 但是当应用程序
  • DOORS数据库中的动态数组值得使用吗?

    我是 DOORS 数据库的新开发人员 正在使用 dxl 编写脚本 如您所知 dxl 中有一维数组 我想使用多个维度 因此决定使用动态数组 但这大大减慢了我的脚本速度 当每个模块大约有 14 000 个对象时 脚本运行需要一天左右的时间 我想
  • 浏览核心数据对象图 [2]

    我问了一个question https stackoverflow com questions 12733490 navigating the core data object graph昨天我真的应该从一个更简单的例子开始 将我的问题提炼
  • 在实践 II 中使用 Scala Actor 编写应用程序 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 因为我的第一个问题太长 所以我将其作为一个单独的问题提出 这是关于基于参与者的应用程序架构的另一篇文章
  • 使用react-router登录后自动重定向

    我想在我的应用程序中建立一个 Facebook 登录反应 反应路由器 通量应用 我在登录事件上注册了一个侦听器 并且希望将用户重定向到 dashboard 如果他们已登录 我该怎么做 location push除非完全重新加载页面后 否则效
  • 使用带有新值的片段多次并进行后台维护

    我正在制作一个应用程序滑动菜单 and tab在底部 整个应用程序是fragment基于 我面临一些我正在使用的问题片段A然后点击一个按钮并转到片段B in 片段B有一个按钮 点击这个按钮片段A将用新值更新 等等 意味着应该发生从 A gt
  • 如何在 C# 中应用 Word 快速样式 - 不仅仅是简单的格式设置而是整个样式?

    我承认 我对使用 Interop 库很陌生 但人们似乎总是给出的建议是 记录一个宏并检查 vba 代码 问题是 宏没有准确记录我在做什么 单击快速样式将其应用到当前选择 我的任务非常简单 我需要将快速样式应用于段落 Microsoft Of
  • 在已经运行 64 位 Oracle 数据库服务器的 Windows Server 上安装 Oracle 32 位客户端

    我在Windows 2008 R2上安装了64位Oracle数据库服务器 11 2 0 3 自然地 它会自动安装64位客户端 我必须在该 32 位服务器上安装一个应用程序 并且需要 32 位 Oracle 客户端 不要问 我无法安装此应用程
  • 在R中的轴标题中同时使用下标和变量值

    我想在 R 的绘图中使用标题 湿地中的二氧化碳排放量 而 CO2 中的 2 位于下标中 并且该区域的值 此处 湿地 包含在名为 区域 的变量中 region wetlands plot 1 1 main expression CO 2 pa
  • 删除 Parse 上的多条记录

    我的类在 Parse 上有超过 1 1 亿条记录 并且希望根据一条规则删除 99 的记录 状态 1 我设置了一些后台作业来逐个记录此记录 但速度太慢并且类慢慢变大 有什么办法可以更快地删除它们吗 也许在设定日期之前删除所有对象 Thanks
  • 在 Intellij Idea Community Addition 中安装 PHP 插件

    我正在尝试在我的 Intellij Idea IDE 社区版版本 14 中安装 PHP 插件 我相信这是非常受支持的 因为我看到有一个插件网站显示社区 PHP 插件 URL https plugins jetbrains com plugi
  • 在 Javascript 中覆盖警报并确认

    有没有办法覆盖alert and confirm 在 JavaScript 中 我使用 jQuery 所以如果有办法在这个框架中做到这一点 我将不胜感激 我想做这样的事情 override alert msg Show custom stu
  • 按数组列表自定义分页

    我想在java代码中通过数组列表创建自定义分页 import org springframework data domain Sort import org springframework data domain PageRequest i
  • 从字典列表中创建不矛盾项的字典

    这个问题的灵感来自于这个问题 https stackoverflow com q 9906944 589206 我想从字典列表中获取一个字典 该字典应包含所有字典中的所有键 值对 这些字典要么只包含一次 要么所有字典都同意关联值 示例 取自
  • (在Eclipse中使用处理库)如何使用窗口模式?

    http processing org learning eclipse http processing org learning eclipse 根据步骤5 我使用了PApplet main new String present MyGa
  • 检索数据时数据库崩溃问题

    This is the Database field values 下面是我用来从 sqlite 数据库获取数据的代码 void readDataFromRestaurantTable self openDataBase const cha