首页 理论教育 事件数据库的读写操作

事件数据库的读写操作

时间:2023-06-23 理论教育 版权反馈
【摘要】:有了事件的模型之后,就可以将其写入数据库以及从数据库中读取。创建数据库的代码如下:动手写21.2.14 Practise-> LYKXEventManager.swift这个函数从创建数据库到创建表一气呵成。最后是查询函数的实现,代码如下:动手写21.2.16 Practise-> LYKXEventManager.swift为了方便其他类调用插入函数,这里接受LYKXEventModel的实例作为传入参数,接着执行SQL语句进行插入,最后返回插入结果。到此为止,事件的数据库读写就完成了。

事件数据库的读写操作

有了事件的模型之后,就可以将其写入数据库以及从数据库中读取。为数据库读写创建管理类LYKXEventManager,代码如下:

动手写21.2.13 Practise-> LYKXEventManager.swift

database属性用于存储创建好的数据库的连接指针,createResult用于存储创建数据库的结果。创建数据库的代码如下:

动手写21.2.14 Practise-> LYKXEventManager.swift

这个函数从创建数据库到创建表一气呵成。如果创建失败会返回false,如果创建成功则会返回true,并且database会赋上数据库连接的指针,用于之后的插入和查询操作。创建好数据库之后就可以实现插入数据库的函数,代码如下:

动手写21.2.15 Practise-> LYKXEventManager.swift

为了方便其他类调用插入函数,这里接受LYKXEventModel的实例作为传入参数,接着执行SQL语句进行插入,最后返回插入结果。这里需要注意:要使用“replace into”作为插入语句,这样可以保证在unique的字段已经存在的情况下,通过替换的方式将一条记录插入数据库。在创建数据库时,已经使用event_id作为unique的键,这样可以保证全表所有记录的event_id不会重复,那么通过insertEvent方法就可以进行替换操作,比如不是新建一个事件而是替换。(www.xing528.com)

最后是查询函数的实现,代码如下:

动手写21.2.16 Practise-> LYKXEventManager.swift

为了方便其他类调用插入函数,这里接受LYKXEventModel的实例作为传入参数,接着执行SQL语句进行插入,最后返回插入结果。这里需要注意:要使用“replace into”作为插入语句,这样可以保证在unique的字段已经存在的情况下,通过替换的方式将一条记录插入数据库。在创建数据库时,已经使用event_id作为unique的键,这样可以保证全表所有记录的event_id不会重复,那么通过insertEvent方法就可以进行替换操作,比如不是新建一个事件而是替换。

最后是查询函数的实现,代码如下:

动手写21.2.16 Practise-> LYKXEventManager.swift

这里主要通过sqlite3_step()函数来执行statement,并且将结果转换为一个LYKXEventModel的实例。通过sqlite3_column_*()的一系列方法将结果中的值转换为Swift中的类型,然后赋值到实例的属性上,再添加到数组的末尾。最终将整个数组返回,如果查询失败则返回一个空数组。到此为止,事件的数据库读写就完成了。下面我们要将添加事件的功能开发实现。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈