我有八列数据库表,具有以下字段:数据库到光标,光标到数组列表和数组列表到名称值对的字符串。
|_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