2014-09-30 43 views
0

我有一個SQLite數據庫,其中包含三列:ID,NameDept。我有一個主要ViewController其中我有三個字段:enter mobileNumber(textField),Name(標籤)和Dept(標籤)。當我輸入文本框中任意數字的前4位時,這兩個標籤會自動顯示數據庫中的相關值。當我在數據庫中給出默認值時,我得到的輸出很好。我需要的是在數據庫中沒有給出任何默認值我想直接運行我的應用程序時,我輸入任何數字它應該顯示名稱和部門的值標籤。我的數據庫包含超過3000條記錄。ios sqlite連接數據庫和檢索值

我使用這個查詢從數據庫中獲得數據:

sqlStatement = [[NSString stringWithFormat:@"SELECT _id,Name,Dept FROM Codes 
    WHERE _id=\'%@\'",idString.text]UTF8String]; 
+0

你確認你的id字段是以字符串形式在數據庫中嗎?它不應該是根據您的查詢整數。 – user1548843 2014-09-30 10:56:46

回答

0

使用LIKE Clause它將返回相關輸出。

sqlStatement = [[NSString stringWithFormat:@"SELECT _id,Name,Dept FROM Codes WHERE _id like '%%@'",idString.text]UTF8String]; 

它會根據您的ID返回匹配結果。

欲瞭解更多關於LIKE Clause的清晰信息,請查看Link

+0

確定%% @將返回值,我嘗試過但仍然出錯 – 2014-09-30 08:06:56

+0

是的嘗試它應該返回所有以您的查詢字符串開頭的值。 – abhishekkharwar 2014-09-30 08:10:08

+0

我試過兄弟,但它不工作 – 2014-09-30 08:12:42

0

我假設

  1. 您正在運行一個查詢與前4位
  2. 在多單的情況下匹配到數據庫,您正在選擇查詢返回的行之一

事情t Ø嘗試調試此:

  1. 調試查詢:編程,編寫使用4位的數字,只返回一行的查詢。檢查查詢是否根據數據源返回了您所期望的內容。
  2. 調試顯示信息:查詢並顯示可以顯示名稱和部門信息的硬編碼。
+0

我已經嘗試過在文本字段中給出一個sam [文件ID並運行它。它的工作,但我需要的是,當我立即鍵入任何數字,它應該匹配數據庫,並顯示在兩個標籤的結果 – 2014-09-30 07:40:44

+0

你確定當你輸入另一個數字時,你的查詢返回至少一個條目?那個條目有有效的值? – genalipsis 2014-09-30 07:51:36