我有八列數據庫表,具有以下字段:數據庫到光標,光標到數組列表和數組列表到名稱值對的字符串。
|_id|flag|HVID|Vname|Vdate|Vtime|Vcost|Vmedicine|
我查詢這個數據庫中,提取屬於某種「HVID」的所有記錄:
public Cursor fetchAllVac(String ID) {
String Key = ID;
Cursor mCursor = mDb.query(DATABASE_TABLE1, new String[] { IDx, FLAG,
HVID1, Vname1, VDate1, Vtime1, Vcost1, Vmedicine1 }, "HVID=?",
new String[] { Key }, null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
而且在活動中,我從遊標讀取值,並將其存儲在一個數組列表:
public void Vacforshare() {
String B = null;
ArrayList<String> mArrayList = new ArrayList<String>();
mCursor = DBHelper.fetchAllVac(IDB);
if (mCursor.moveToFirst()) {
do {
try {
mArrayList.add(mCursor.getString(mCursor
.getColumnIndex("_id")));
mArrayList.add(mCursor.getString(mCursor
.getColumnIndex("flag")));
mArrayList.add(mCursor.getString(mCursor
.getColumnIndex("HVID")));
mArrayList.add(mCursor.getString(mCursor
.getColumnIndex("Vname")));
mArrayList.add(mCursor.getString(mCursor
.getColumnIndex("Vdate")));
mArrayList.add(mCursor.getString(mCursor
.getColumnIndex("Vtime")));
mArrayList.add(mCursor.getString(mCursor
.getColumnIndex("Vcost")));
mArrayList.add(mCursor.getString(mCursor
.getColumnIndex("Vmedicine")));
} catch (Exception h) {
}
} while (mCursor.moveToNext());
}
for (int i = 0; i < mArrayList.size(); i++) {
String G = (mArrayList.get(i));
B = B + G;
}
System.out.println("" + B);
}
我所得到的B是多餘的(所有行)STR值(我的記錄可以是多行)我想將這些值分隔成名稱 - 值對,我很困惑如何實現這一點。
給我在類型ArrayList的方法add(Record)不適用於參數(字符串) –
user2613996
@ user2613996您正在使用字符串參數調用'add()'。你應該用一個'Record'來調用它。請檢查第一個代碼示例。 –
工程就像一個魅力!謝啦! – user2613996