Android 台灣中文網

標題: 請問要怎麼把SQLITE的資料都抓出來逐一比對阿? [打印本頁]

作者: qb425425    時間: 2013-5-13 17:26
標題: 請問要怎麼把SQLITE的資料都抓出來逐一比對阿?
本帖最後由 qb425425 於 2013-5-13 17:28 編輯

我是用書上範例改的

做出

ID
姓名
電話

ID是自動產生的主鍵

所以
如果我新增一個資料

名子:AAA
電話:123456

下次又新增2筆

叫做
名子:AAA
電話:147852

名子:AAA
電話:123456

然後
按下按鈕,會去比對
資料庫內的資料,
如果有2筆資料內 的  
姓名跟電話的欄位內容完全一模一樣,
會刪除ID值比較小的那個

資料庫我是參考書上範例,書上只有新增刪除修改查詢,
我想把資料庫的內容都抓出來,可是書上沒有寫怎麼把資料抓出來比對
抓出來的話要怎抓?? 抓完以後可以存在陣列內?
請問我該怎麼做呢?
作者: ploglin    時間: 2013-5-13 17:52
用查詢就好了呀。
如果查詢到姓名跟電話是一樣的,cursor中的getCount會大於0。
作者: qb425425    時間: 2013-5-13 18:59
本帖最後由 qb425425 於 2013-5-13 19:23 編輯

請問一下cursor存的資料是啥?

我用翻譯 是翻成 游標
網路上查,是說是  存放資料集的物件

如果說 我用查詢 那查訊到的東西可以存在陣列裡面嗎?
如果可以要怎麼做呢?

因為我要把最後比較完的東西 丟到PHP在丟到MY SQL
可是在比較的這邊就卡住了


cursor中的getCount這樣怎麼使用阿?
因為我用TOAST抓出來的數值是顯示4
剛好我的資料有4筆
不太懂這個地方怎弄
作者: ploglin    時間: 2013-5-14 09:30
建議你去買一本書學吧,基礎要加強一點唷。

  1. Cursor c=db.rawQuery(
  2.      "SELECT name, tel FROM user WHERE  name=? and tel=?", new String[]{"AAA", "123456"});
  3. int total = c.getCount();
  4. if(total>0){
  5.     // 比對到有資料
  6. }
複製代碼

作者: vamxlam    時間: 2013-5-14 11:06
為何要把資料刪除? 用update也可以呀...
新增紀錄前先比對資料庫, 沒有相同名字的就新增, 有的就用update的方法
作者: qb425425    時間: 2013-5-20 12:39
本帖最後由 qb425425 於 2013-5-20 12:44 編輯

我在問一下,
如果我用這種方式
抓出資料,會很奇怪嗎?
  1. String c_ID = cursor.getString(0);
  2. //第0個欄位,_ID
  3. String[] s_c_ID= new String[cursor.getCount()];
  4. //要抓的內容
  5. s_c_ID[0]=c_ID;
  6. Log.i("_ID",s_c_ID[0]+"");
  7.    
複製代碼

作者: ploglin    時間: 2013-5-20 13:35
只要可以做出你要功能的就不會奇怪。
多看一些別人的 source code ,之後再慢慢把別人的作法跟自己做整合,走出自己的路就好了。




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1