如何在android sqlite应用程序中访问多列值?

时间:2011-09-21 06:49:03

标签: android

我正在构建一个应用程序,我需要访问存储在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;  


}  

2 个答案:

答案 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());
    }