FMDB多值查詢

2021-07-24 09:04:13 字數 918 閱讀 1374

其實還真不用,這樣:select * from "t_table" where field in (?,?);就可以了,這裡的t_table是需要查詢的表,field是表中的欄位名。知道這句sql語句的作用,那麼就簡單了,不是嗎?

1、在乙個field陣列(fields)中,假設field是varchar型別,那麼只需要nsstring *fieldstring = [fields componentsjoinedbystring:@","];把所有欄位名用逗號隔開來拼接起來。

2、執行sql語句:select * from "t_table" where field in (fieldstring);這樣就完成了。

那麼問題來了,如果不是字串型別呢?

這樣也很簡單,只需要使用這個:[db executequery:(這裡是sql語句) withargumentsinarray:(陣列值)];

不過這裡的sql語句需要使用佔位符,那麼久這樣來做

nsstring *placeholder = @"";

for(int num = 0; num < [fields count]; num ++)

// 最後刪除第乙個字元(",")

placeholder

= [placeholder

substringfromindex:1];

執行sql

nsstring *sql = [nsstring stringwithformat:@"select * from "t_table" where field in (%@);

"placeholder

];[db executequery:sql

withargumentsinarray:fields

];到這裡,怎麼去獲取結果就不用再說了吧!我想會用fmdb的童鞋都會的。對於fmdb多值存入、刪除、修改也是一樣的

多值模糊查詢報表的製作

但是使用者的需求往往是無止境的!最典型就是把這兩種好使的方法結合起來,也就是兩種查詢的結合 在引數框中輸入多個關鍵字,根據多個關鍵字進行模糊查詢。比如,使用者要根據產品名稱進行多值模糊查詢,當輸入為 乳酪,糖 時,希望找出產品名稱中含有乳酪或糖的產品列表,如下圖所示 為了程式猿哥哥可以早日跟加班 s...

多值模糊查詢報表的製作

但是使用者的需求往往是無止境的!最典型就是把這兩種好使的方法結合起來,也就是兩種查詢的結合 在引數框中輸入多個關鍵字,根據多個關鍵字進行模糊查詢。比如,使用者要根據產品名稱進行多值模糊查詢,當輸入為 乳酪,糖 時,希望找出產品名稱中含有乳酪或糖的產品列表,如下圖所示 為了程式猿哥哥可以早日跟加班 s...

多值模糊查詢報表的製作

但是使用者的需求往往是無止境的!最典型就是把這兩種好使的方法結合起來,也就是兩種查詢的結合 在引數框中輸入多個關鍵字,根據多個關鍵字進行模糊查詢。比如,使用者要根據產品名稱進行多值模糊查詢,當輸入為 乳酪,糖 時,希望找出產品名稱中含有乳酪或糖的產品列表,如下圖所示 為了程式猿哥哥可以早日跟加班 s...