iOS開發針對SQL語句的封裝

來源:互聯網
上載者:User

標籤:

1、使用依賴關係

 a、需要添加libsqlite3.tbd 靜態庫。

 b、需要添加第三方架構 FMBD、MJExtension。

 

 2、 SQL語句類封裝名DataBaseSqlTool

  類方法介紹:

/**

 *  刪除表

 *

 *  @param tableName 資料表名稱

 *

 *  @return 刪除表是否成功

 */

+ (BOOL)deleteTable:(NSString *)tableName;

 

/**

 *  清除表 (清空表中的內容)

 *

 *  @param tableName 資料表名稱

 *

 *  @return 清除表是否成功

 */

+ (BOOL)eraseTable:(NSString *)tableName;

 

/**

 *  判斷是否存在表

 *

 *  @param tableName 資料表名稱

 *

 *  @return

 */

+ (BOOL)isTableOK:(NSString *)tableName;

 

/**

 *  建立表格

 *

 *  @param tableName 資料表名稱

 *  @param sqlStatement  表格屬性(SQL語句)

 *

 *  @return 建立表格是否成功

 *  sql語句例子:@"CREATE TABLE IF NOT EXISTS t_home_status (id integer PRIMARY KEY AUTOINCREMENT, access_token text NOT NULL, status_idstr text NOT NULL, status_dict blob NOT NULL);"

 */

+ (BOOL)createWithTableName:(NSString *)tableName sqlStatement:(NSString*)sqlStatement;

 

/**

 *  插入資料

 *

 *  @param tableName 資料表名稱

 *  @param sqlStatement  插入的屬性和值(SQL語句)

 *

 *  @return 插入資料是否成功

 *  sql語句例子:@"insert into tableName(資料表) (name,age) values (‘lisi‘,‘28‘)"

 */

+ (BOOL)insertWithTableName:(NSString *)tableName sqlStatement:(NSString*)sqlStatement;

 

/**

 *  刪除資料

 *

 *  @param tableName 資料表名稱

 *  @param deleteWhere  刪除條件(SQL語句)

 *

 *  @return 刪除資料是否成功

 *  sql語句例子:@"delete from tableName(資料表) where name=‘lisi‘";

 */

+ (BOOL)deleteWithTableName:(NSString *)tableName deleteWhere:(NSString *)deleteWhere;

 

/**

 *  更新資料

 *

 *  @param tableName    資料表名稱

 *  @param setValue     更新資料(SQL語句)

 *  @param updateWhere  更新資料條件

 *

 *  @return 跟新資料是否成功

 *  sql語句例子:@"update tableName(資料表) set age=‘23‘ where name=‘lisi‘";

 */

+ (BOOL)updateWithTableName:(NSString *)tableName setValue:(NSString*)setValue updateWhere:(NSString *)updateWhere;

 

/**

 *  尋找資料

 *

 *  @param tableName       資料表名稱

 *  @param findTable       需要尋找的屬性  該值為* 表示尋找表格中所有屬性

 *  @param findWhere       設定查詢條件

 *  @param resultClass     查詢返回的類名

 *  @param findResultBlock 查詢結果

 *

 *  @return 尋找資料是否成功

 *  查詢分精確查詢和模糊查詢詳細見http://blog.163.com/ding_123com/blog/static/211752221201542942837616/

 *  SQLite基礎知識參考資料 http://pan.baidu.com/s/1c1Choac

 *  SQLite編碼知識參考資料 http://pan.baidu.com/s/1jHYVBXs

 *  sql語句例子:@"select msg from tableName(資料表) where username=‘dy1‘ order by time desc  limit 1"

 */

+ (BOOL)selectWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere resultClass:(Class)resultClass findResultBlock:(void(^)(NSMutableArray *reslut))findResultBlock;

 

/*

 * 使用說明 只適用尋找單個的屬性為double類型的值

 * 屬性說明同上

 */

 

+ (BOOL)selectSingleDoubleWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere indResultBlock:(void(^)(NSMutableArray *reslut))findResultBlock;

 

/*

 * 使用說明 只適用尋找單個的屬性為int類型的值

 * 屬性說明同上

 */

+ (BOOL)selectSingleIntWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere indResultBlock:(void (^)(NSMutableArray *))findResultBlock;

 

/*

 * 使用說明 只適用尋找單個的屬性為字串的類型的值

 * 屬性說明同上

 */

+ (BOOL)selectSingleCharWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere indResultBlock:(void (^)(NSMutableArray *))findResultBlock;

iOS開發針對SQL語句的封裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.