Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android sqlite应用程序中访问多列值?_Android - Fatal编程技术网

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

如何在android sqlite应用程序中访问多列值?,android,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

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


}  
hiii

您可以使用具有getter和setter方法的包装类,并在特定变量的setter方法中简单地添加值。 通过传递整个包装器类,您可以使用getter方法获得所有变量的值


希望你能理解我说的….

实际上你没有在代码中加入循环,这就是为什么它会返回单列多列make循环。例如:

$if (c.moveToFirst())
    {
        do {
            plysidvec[i] = c.getString(0);
            plysvec.add(c.getString(1));
            i++;
        } while (c.moveToNext());
    }

嗨,检查你的密码。您的查询只有6列,但您正在尝试访问7列。所以它将给出错误。看看你的代码。。。它有一堆返回语句。但它将在第一次退出时退出。因此,它总是只返回
密码
。请避免使用内部getter/setter方法,而不是使用公共静态成员。看到了吗?是的,我知道你的答案没有错,你是绝对正确的,但就性能而言,我被告知