我想選擇一個記錄FROM數據庫WHERE'balance'大於你輸入的數字。Xcode比較來自FMDB的號碼
正常的sql是: SELECT cardNum FROM cardInfo WHERE balance> money ORDER BY withdrawals DESC,discount DESC。
但我不知道如何在Objective-C中完成它(在'WHERE'子句中用NSString比較一個整數)。問題是沒有NSInteger可以保存到FMDB表。
這裏是我的代碼部分:?!
NSString * moneyText = moneyField.text;
double money = [moneyText doubleValue];
NSString *selectedRecord = [db stringForQuery:@"SELECT cardInfo.cardNum FROM cardInfo WHERE (cardInfo.currentBalance ... I don't know what here is)ORDER BY withdrawals DESC]; (I want to get the first record only).
是任何人誰可以幫幫我〜 謝謝〜
的問題是:在數據庫中的平衡是一個字符串,而不是數量。當我將餘額內容添加到數據庫時,號碼不起作用。 – user1132443 2013-03-24 13:03:10
如果數據庫中的數字是一個字符串,那麼您將得到一個字符串比較,而不是數字比較,所以您對「常規sql」的原始評論似乎是錯誤的。要比較編碼爲字符串的數字,您必須讓數據庫執行轉換,以便您可以獲得數字比較,因此請使用「convert(decimal(28,8),isnull(balance,' 0')「,而不是」balance「以上 – gaige 2013-03-24 17:41:13
謝謝你有什麼想法如何將內容保存爲數據庫中的數字嗎?我正在使用FMDB框架,當我嘗試將數字放入它時,它顯示 – user1132443 2013-03-26 01:48:53