一种基于FMDB的SQL语句封装方法技术

技术编号:17516520 阅读:24 留言:0更新日期:2018-03-21 01:07
本发明专利技术涉及一种基于FMDB的SQL语句封装方法,包括如下步骤:在FM接口层,创建一UserDBManager类,用于对用户数据库进行管理,所述UserDBManager类生成一个对象并调用方法:AllModel(),该方法内部调用FMDB封装函数:table函数,用于指定用户数据库中的表,selectArray函数,用于指定待执行的操作,附加函数,用于指定可选附加指令,当以上参数接收并解析完毕后,UserDBManager类通过commit指令将解析结果封装后传输给SQL执行层处理。本发明专利技术,基于FMDB,结构清晰,易于实现,简化了SQL语句的编写代码量,有利于提高开发效率,减少编程中重复劳动导致的错误。

A method of encapsulation of SQL statements based on FMDB

The invention relates to a SQL statement encapsulation method based on FMDB, including the following steps: the FM interface layer, create a UserDBManager class, for the management of the user database, the UserDBManager generates an object and call the method: AllModel (), the method of calling FMDB function package: table function for the specified user the table in the database, the selectArray function is used to specify the operation to be performed, the additional function is used to specify optional additional instructions when receiving and analyzing the above parameters after UserDBManager through the instruction of the commit analytical results are transmitted to SQL package execution layer. The invention is based on FMDB, which has clear structure and easy implementation. It simplifies the coding amount of SQL statement, improves the development efficiency and reduces the errors caused by repeated labor in programming.

【技术实现步骤摘要】
一种基于FMDB的SQL语句封装方法
本专利技术涉及SQLiteAPI封装
,具体说是一种基于FMDB的SQL语句封装方法。
技术介绍
iOSSDK很早就支持了SQLite,在使用时,只需要加入libsqlite3.dylib依赖以及引入sqlite3.h头文件即可。但是,原生的SQLiteAPI在使用上相当不友好,在使用时,非常不便。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种基于FMDB的SQL语句封装方法,基于FMDB,结构清晰,易于实现,简化了SQL语句的编写代码量,有利于提高开发效率,减少编程中重复劳动导致的错误。为达到以上目的,本专利技术采取的技术方案是:一种基于FMDB的SQL语句封装方法,其特征在于,包括如下步骤:在FM接口层,创建一UserDBManager类,用于对用户数据库进行管理,所述UserDBManager类生成一个对象并调用方法:AllModel(),该方法内部调用FMDB封装函数:table函数,用于指定用户数据库中的表,selectArray函数,用于指定待执行的操作,附加函数,用于指定可选附加指令,当以上参数接收并解析完毕后,UserDBManager类通过commit指令将解析结果封装后传输给SQL执行层处理。在上述技术方案的基础上,所述可选附加指令与操作指令参数关联,包括但不限于:排序指令,数量限制指令,条件指令。在上述技术方案的基础上,所述参数解析是指:UserDBManager类将接收到的参数转发到SQL参数层,在SQL参数层中,将表名称参数解析为SQL语句中标准的表名称赋值语句,将操作指令参数解析为SQL语句中标准的操作及制定列名称语句,将附加函数解析为SQL语句中标准的附加函数开关语句,SQL参数层处理完毕后,UserDBManager类将处理结果转发到SQL组装层,将处理结果组装成标准的SQL语句,最终,SQL组装层将组装完毕的标准的SQL语句作为字符串,返回给UserDBManager类。在上述技术方案的基础上,所述字符串通过commit指令封装后传输给SQL执行层处理。在上述技术方案的基础上,所述字符串通过commit指令封装后作为params参数的值传输给SQL执行层处理。在上述技术方案的基础上,SQL执行层解析commit指令中params参数携带的SQL语句后,将其存储到FM执行层的DBQueue队列,在FM执行层中,通过executeQuery()方法来下达select指令以查询数据库,得到查询结果resultSet,最后,将查询结果resultSet通过KWSqlResult参数返回给FM接口层。在上述技术方案的基础上,所述KWSqlResult参数中至少包括以下数据:成功标志位success,用于标志SQL执行的结果,多数据位rows,用于存储包括多个数据的查询结果,单数据位id,用于存储包括一个数据的查询结果,计数位num,用于存储包括统计数据的查询结果。本专利技术所述的基于FMDB的SQL语句封装方法,基于FMDB,结构清晰,易于实现,简化了SQL语句的编写代码量,有利于提高开发效率,减少编程中重复劳动导致的错误。附图说明本专利技术有如下附图:图1本专利技术的流程图。具体实施方式以下结合附图对本专利技术作进一步详细说明。如图1所示,本专利技术所述的基于FMDB的SQL语句封装方法,包括如下步骤:在FM接口层,创建一UserDBManager类,用于对用户数据库进行管理,所述UserDBManager类生成一个对象并调用方法:AllModel(),该方法内部调用FMDB封装函数:table函数,用于指定用户数据库中的表,图1所示实施例中指定user表,即用户表,selectArray函数,用于指定待执行的操作,图1所示实施例中指定selectarray指令,即选择数组,且指定选择nil对象,附加函数,用于指定可选附加指令,图1所示实施例中指定sortStr指令,即排序指令,且具体限定为ORDERBYrowidDESC,还可以是数量限制指令,条件指令等,当以上参数接收并解析完毕后,UserDBManager类通过commit指令将解析结果封装后传输给SQL执行层处理。在上述技术方案的基础上,所述参数解析是指:UserDBManager类将接收到的参数转发到SQL参数层,在SQL参数层中,将表名称参数解析为SQL语句中标准的表名称赋值语句,即:table=语句,图1所示实施例中应该解析为table=user,将操作指令参数解析为SQL语句中标准的操作及指定列名称语句,即:获取指定的列的列名并对其进行相应操作,图1所示实施例中应该解析为获取uid,uname等user表中的列名,并对其执行select语句,由于图1所示实施例中指定选择nil对象,则相应解析为所有列的列名,此处不详述,将附加函数解析为SQL语句中标准的附加函数开关语句,图1所示实施例中应该解析为ORDERBYrowidDESC,SQL参数层处理完毕后,UserDBManager类将处理结果转发到SQL组装层,将处理结果组装成标准的SQL语句,图1所示实施例中应该解析为select(uid,uname,…)fromuserORDERBYrowidDESC,最终,SQL组装层将组装完毕的标准的SQL语句作为字符串,返回给UserDBManager类。在上述技术方案的基础上,所述字符串通过commit指令封装后传输给SQL执行层处理。在上述技术方案的基础上,所述字符串通过commit指令封装后作为params参数的值传输给SQL执行层处理。在上述技术方案的基础上,SQL执行层解析commit指令中params参数携带的SQL语句后,将其存储到FM执行层的DBQueue队列,在FM执行层中,通过executeQuery()方法来下达select指令以查询数据库,得到查询结果resultSet,最后,将查询结果resultSet通过KWSqlResult参数返回给FM接口层。在上述技术方案的基础上,所述KWSqlResult参数中至少包括以下数据:成功标志位success,用于标志SQL执行的结果,多数据位rows,用于存储包括多个数据的查询结果,单数据位id,用于存储包括一个数据的查询结果,计数位num,用于存储包括统计数据的查询结果。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本文档来自技高网...
一种基于FMDB的SQL语句封装方法

【技术保护点】
一种基于FMDB的SQL语句封装方法,其特征在于,包括如下步骤:在FM接口层,创建一UserDBManager类,用于对用户数据库进行管理,所述UserDBManager类生成一个对象并调用方法:AllModel(),该方法内部调用FMDB封装函数:table函数,用于指定用户数据库中的表,selectArray函数,用于指定待执行的操作,附加函数,用于指定可选附加指令,当以上参数接收并解析完毕后,UserDBManager类通过commit指令将解析结果封装后传输给SQL执行层处理。

【技术特征摘要】
1.一种基于FMDB的SQL语句封装方法,其特征在于,包括如下步骤:在FM接口层,创建一UserDBManager类,用于对用户数据库进行管理,所述UserDBManager类生成一个对象并调用方法:AllModel(),该方法内部调用FMDB封装函数:table函数,用于指定用户数据库中的表,selectArray函数,用于指定待执行的操作,附加函数,用于指定可选附加指令,当以上参数接收并解析完毕后,UserDBManager类通过commit指令将解析结果封装后传输给SQL执行层处理。2.如权利要求1所述的基于FMDB的SQL语句封装方法,其特征在于:所述可选附加指令与操作指令参数关联,包括但不限于:排序指令,数量限制指令,条件指令。3.如权利要求1所述的基于FMDB的SQL语句封装方法,其特征在于:所述参数解析是指:UserDBManager类将接收到的参数转发到SQL参数层,在SQL参数层中,将表名称参数解析为SQL语句中标准的表名称赋值语句,将操作指令参数解析为SQL语句中标准的操作及制定列名称语句,将附加函数解析为SQL语句中标准的附加函数开关语句,SQL参数层处理完毕后,UserDBManager类将处理结果转发到SQL组装层,将处理结果组装成标准的...

【专利技术属性】
技术研发人员:郭艳杰
申请(专利权)人:北京酷我科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1