我正在构建一个应用程序,我需要访问存储在sqlite数据库中的用户的一些细节。问题是我熟悉返回“只”一个值的代码......但是当我尝试访问多个列时......应用程序出错了。 下面是我正在使用的代码。谢谢。
public String selectAll()
{
Cursor cursor = db.query(DB_TABLE_NAME2, new String[] { DB_COLUMN_1_NAME,DB_COLUMN_2_NAME,DB_COLUMN_3_NAME,DB_COLUMN_4_NAME,DB_COLUMN_5_NAME,DB_COLUMN_6_NAME},null, null, null, null,null);
if(cursor.getCount() >0)
{
cursor.moveToNext();
email = cursor.getString(cursor.getColumnIndex(DB_COLUMN_1_NAME));
password=cursor.getString(cursor.getColumnIndex(DB_COLUMN_2_NAME));
phone = cursor.getString(cursor.getColumnIndex(DB_COLUMN_3_NAME));
fname=cursor.getString(cursor.getColumnIndex(DB_COLUMN_4_NAME));
lname = cursor.getString(cursor.getColumnIndex(DB_COLUMN_5_NAME));
location=cursor.getString(cursor.getColumnIndex(DB_COLUMN_6_NAME));
street = cursor.getString(cursor.getColumnIndex(DB_COLUMN_7_NAME));
}
return password;
return email;
return phone;
return fname;
return lname;
return location;
return street;
return email;
}
答案 0 :(得分:1)
HIII
您可以使用具有getter和setter方法的Wrapper类,并在特定变量的setter方法中添加简单值。 通过传递整个包装类,您可以使用getter方法获取所有变量的值。
希望你得到我所说的.....
答案 1 :(得分:0)
实际上你没有在你的代码中放入循环,这就是为什么它为多列的返回单列make循环。例如:
$if (c.moveToFirst())
{
do {
plysidvec[i] = c.getString(0);
plysvec.add(c.getString(1));
i++;
} while (c.moveToNext());
}