2013-06-03 6 views
1

我設計一個應用程序中,我很存儲傳入的消息在我自己創建的數據庫,並從該數據庫我在我的應用程序中顯示這些消息。 此我使用此代碼, 要插入的數據,存儲傳入消息的排序順序(根據來電號碼)

mydb = openOrCreateDatabase("db",MODE_PRIVATE, null);        
     mydb.execSQL("CREATE TABLE IF NOT EXISTS sms_inbox (SMS_TEXT varchar , SENDER_NUMBER varchar);");  

     mydb.execSQL("INSERT INTO sms_inbox VALUES('" + stBody + "', '" + stPhoneNumber + "');"); 

讀取數據,

Cursor c = mydb.rawQuery("SELECT * from sms_inbox", null); 

,然後我正在顯示這些消息,

所以現在我的問題這是我想要根據電話號碼,例如 存儲這些信息,

phoneno.-12345 「所有的12345的消息將顯示在此處」 手機號,23456 「中的所有的23456的消息將顯示在此處」

+0

使用順序在選擇查詢? – Sam

回答

2

嗯,你可以這些消息存儲在sms_inbox表中的另一個入口,但它將有助於存儲時間戳以便能夠區分每條消息。

當您查詢您可以通過電話號碼是什麼你有興趣到的電話號碼:SELECT * from sms_inbox where 'SENDER_NUMBER' = '?'

或者你可以做一個選擇的SENDER_NUMBER下令:SELECT * from sms_inbox order by 'SENDER_NUMBER' desc;

在結束這一切取決於你的使用情況。您也可以使用其他表格僅保留一個數字的消息並映射一對多關係。

+0

但有問題,同時使用來自sms_inbox其中「SENDER_NUMBER」 = SELECT *是「?」根據你的建議,我必須給出實際的no。但我想給一個變量而不是這個。我知道這是發生,因爲保存到數據庫中的數據將包含實際的無不是變量...但我想解決這個問題.. – Custadian

+0

我不明白你的意思......你能不能更換查詢中的變量?例如:「where'sender_number'= \'」+ myObj.getValue()+「\';」 ? – gunar

+0

明白了,這是同樣的問題,現在我的問題已經解決實際上我不知道SQL查詢是指如何將它們寫,但日Thnx很多Gúnár酒店.. – Custadian