首页 > 代码库 > 数据库常见问题总结
数据库常见问题总结
在我之前的项目中,存取数据使用的都是NSCoding方式,这样做避免了复杂的数据库操作,也造成了我数据库使用的困难。
最近做的一个项目中,大量的使用到数据库操作,涨姿势了,记录一下。
一、使用惯例:
(1)使用FMDB第三方库管理数据库
(2)不需要事务时,使用inDatabase
(3)需要使用事务时,使用inTransaction
(4)inTransaction也可以替换为beginTransaction和commit的配对使用
(5)事务不可以嵌套
(6)sql语句使用?为占位符,以防sql注入问题
二、常见使用错误:
大部分的错误根据FMDataBase输出的错误提示,都可轻松解决。但有些错误的提示较为模糊,解决可能有一定困难,以下为我遇到的一部分:
1、there is at least one open result
原因:ResultSet需要手动关闭。
大部分情况下,通过[resultSet next]方法遍历了resultset的所有结果,是不需要关闭的。
但如果没有遍历所有的结果,并且没有手动关闭的话,就会报这个警告。一般是因为使用了if([resultSet next])
2、sql语句中的in语法不能使用
只能通过循环自己实现in语法了
3、误用executeQuery、executeUpdate
这个问题很容易理解,但也很容易忘记
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #31595d } span.s1 { }</style> <style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #31595d } span.s1 { }</style> <style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #31595d } span.s1 { }</style> <style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000 } span.s1 { }</style> <style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #31595d } span.s1 { }</style>
数据库常见问题总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。