使用iOS原生sqlite3框架对sqlite数据库进行操作(五)


5.错误信息类可以将数据库操作中的异常抛出提示开发者


YHBaseSQLError.h


/**

*异常的提示信息

*/

__PROPERTY_NO_STRONG__(NSString *, errorInfo);

/**

*异常的对应code码

*/

__PROPERTY_NO_ASSIGN__(NSInteger, errorCode);


还有一个头文件中定义了sqlite数据库支持的数据类型和排序宏定义:


YHBaseSQLTypeHeader.h


#define YHBASE_SQL_DATATYPE_SMALLINT @"smallint" //short

#define YHBASE_SQL_DATATYPE_INTRGER @"integer"    //int

#define YHBASE_SQL_DATATYPE_REAL @"real"          //实数

#define YHBASE_SQL_DATATYPE_FLOAT @"float"        //float

#define YHBASE_SQL_DATATYPE_DOUBLE @"double"      //double

#define YHBASE_SQL_DATATYPE_CURRENCY @"currency"  //long

#define YHBASE_SQL_DATATYPE_VARCHAR @"varchar"    //char

#define YHBASE_SQL_DATATYPE_TEXT @"text"          //string

#define YHBASE_SQL_DATATYPE_BINARY @"binary"      //二进制

#define YHBASE_SQL_DATATYPE_BLOB @"blob"          //长二进制

#define YHBASE_SQL_DATATYPE_BOOLEAN @"boolean"    //bool

#define YHBASE_SQL_DATATYPE_DATE @"date"          //日期

#define YHBASE_SQL_DATATYPE_TIME @"time"          //时间

#define YHBASE_SQL_DATATYPE_TIMESTAMP @"timestamp"//时间戳


#define YHBASE_SQL_ORDERTYPE_ASC @"asc" //升序

#define YHBASE_SQL_ORDERTYPE_DESC @"desc" //降序


四、使用


       在使用时,直接调用context的相应方法操作数据库即可,例如:


YHBaseSQLiteContext * context = [YHBaseSQLiteManager openSQLiteWithName:@"testDataBase"];

   if (context) {

       [context selectKeys:nil fromTable:@"MySQL" orderBy:@"age" orderType:YHBASE_SQL_ORDERTYPE_DESC whileStr:@"age>18" callBack:^(NSArray<NSDictionary *> *dataArray, YHBaseSQLError *error) {

           NSLog(@"%@",dataArray);

           NSLog(@"%@",error.errorInfo);

           [context closeContext];

       }];

   }


上面的代码将查询textDataBase数据库中MySQL表里所有age列大于18的数据,并按照age从小到大进行排序,数据结果在回调的dataArray中。


外:完整的代码在下面的git地址中,这个git项目是一个基础的开发框架,里面封装了许多开发和调试常用功能,代码不完善之处,希望多多交流,QQ316045346.


git:https://github.com/ZYHshao/YHBaseFoundationTest

上一篇:【设计模式】—— 模板方法Template


下一篇:RocketMq Topic权限变更