Android 台灣中文網

標題: SQLite, Retrieve特定Entry [打印本頁]

作者: Edenfoo    時間: 2012-1-15 01:29
標題: SQLite, Retrieve特定Entry
  1. String getInfo = sqlcustomername.getText().toString().toUpperCase();
  2.                         Long l = Long.parseLong(getInfo);
  3.                         CustomerDatabase CD = new CustomerDatabase(this);
  4.                         CD.open();
  5.                         String returnedCustomerName = CD.getName(l);
  6.                         String returnedCustomerContactNumber = CD.getContactNumber(l);

  7.                         sqlcustomername.setText(returnedCustomerName);
  8.                         sqlcustomercontactnumber.setText(returnedCustomerContactNumber);
複製代碼
以上的code是只能key in一个号码,然后retrieve entry。
如果我要key in一组text,请问要怎么写呢?
  1.         public String getName(Long l) {
  2.                 // TODO Auto-generated method stub
  3.                 String[] columns = new String[] { KEY_ROWID, KEY_CUSTOMERNAME,
  4.                                 KEY_CUSTOMERCONTACTNUMBER };
  5.                 Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "-" + l, null, null,
  6.                                 null, null);
  7.                
  8.                 if(c != null){
  9.                         c.moveToFirst();
  10.                         String name = c.getString(1);
  11.                         return name;
  12.                 }
  13.                
  14.                 return null;
  15.         }

  16.         public String getContactNumber(Long l) {
  17.                 // TODO Auto-generated method stub
  18.                 String[] columns = new String[] { KEY_ROWID, KEY_CUSTOMERNAME,
  19.                                 KEY_CUSTOMERCONTACTNUMBER };
  20.                 Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "-" + l, null, null,
  21.                                 null, null);
  22.                
  23.                 if(c != null){
  24.                         c.moveToFirst();
  25.                         String ContactNumber = c.getString(2);
  26.                         return ContactNumber;
  27.                 }
  28.                
  29.                 return null;
  30.         }
複製代碼
这个是retrieve entry的functions。

请各位高手指教指教!谢谢了!
作者: ploglin    時間: 2012-1-16 09:27
看不懂,可以再解釋一下嗎?
要做的事情是?
作者: Edenfoo    時間: 2012-1-17 08:54
以上的code只能输入ID,比如说:1, 来提取SQLite Database里面的entry。
如果我想输入text,比如:ABC,来提取SQLite Database里面的entry,请问要怎样呢?
作者: charonchen    時間: 2012-1-29 22:01
那你要做兩件事,第一是使用者的輸入(getInfo)不要轉成long。第二,你要再寫一個類似getName(Long l)的窗口出來讓你能夠把getInfo丟進去,然後吐出你想要的結果。我猜它的signature應該像這樣

public Cursor getRecordSetByString(String cond);

或者更通俗一點,可以自定欄位與條件的

public Cursor getRecordSetByArgs(MAP<String,String> args);
作者: Edenfoo    時間: 2012-2-10 14:09
charonchen 發表於 2012-1-29 22:01
那你要做兩件事,第一是使用者的輸入(getInfo)不要轉成long。第二,你要再寫一個類似getName(Long l)的窗口 ...

可以就以上的coding给个例子吗?




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