获取数据时,数据库获取2列而不是1列

时间:2017-06-16 03:49:51

标签: android sqlite

我对数据库很新,很抱歉,如果这是一个愚蠢的错误/问题。所以我试图从我的数据库中提取数据,但每次尝试时,例如获取类别,它会拉出类别,重新循环,并获得标题?这是我检索数据的代码(拉动两组数据而不仅仅是一组数据的代码)

public ArrayList<String> get_all_Categories()
{

    String get_Cats_Query = "SELECT item_category from " + TABLE_ITEMS;

    Cursor cursor = getReadableDatabase().rawQuery(get_Cats_Query, null);

    cats_from_db = new ArrayList<String>() {};

        if(cursor.moveToFirst()) //if cursor is on the first value
        {
            do{ 
                if(!cats_from_db.contains(cursor.getString(0))) 
                {
                        cats_from_db.add(cursor.getString(0));
                }
            }
            while(cursor.moveToNext()); 
        }

    cursor.close();

    }

这是我放入数据的地方:我调试了这个,所有项目似乎都在正确的位置:

public void Add_Item(New_Item_db new_item)
{
    ContentValues item_values = new ContentValues();
    item_values.put(COLUMN_CATEGORY, new_item.get_itemCategory());
    item_values.put(COLUMN_PRICE, new_item.get_itemPrice());
    item_values.put(COLUMN_TITLE, new_item.get_itemTitle());
    item_values.put(COLUMN_VENDOR, new_item.get_itemVendor());
    item_values.put(COLUMN_IMAGE, new_item.get_itemImage());
    //get and add the created items to the database
    SQLiteDatabase db = getWritableDatabase();
    db.insert(TABLE_ITEMS, null, item_values);  database

    db.close();
}

以下是我的onCreate数据库:

@Override
public void onCreate(SQLiteDatabase db)
{

    String Create_query = "CREATE TABLE " + TABLE_ITEMS + "("
            + COLUMN_INDEX + " INTEGER PRIMARY KEY AUTOINCREMENT, "
            + COLUMN_CATEGORY + " TEXT, "
            + COLUMN_PRICE + " TEXT, "
            + COLUMN_TITLE + " TEXT, "
            + COLUMN_VENDOR + " TEXT, "
            + COLUMN_IMAGE + " BLOB" +
            ");";
    db.execSQL(Create_query);
}

如果有人能帮助我弄清楚为什么当我尝试将所有类别拉到列表中时,我会得到类别,标题,类别,标题等而不仅仅是类别,我将非常感激。在此先感谢:)

0 个答案:

没有答案
相关问题