gpt4 book ai didi

java - 如何从 sqlite select 查询中获取数组值?

转载 作者:行者123 更新时间:2023-12-02 03:09:45 33 4
gpt4 key购买 nike

我有一个简单的 sqlite 函数,它返回表中的所有内容。当前我正在获取单个值,我想获取值数组。这是我正在尝试实现的代码:-

   public void getItemDetails()
{
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery("SELECT * FROM "+ORDER_TABLE, null);
if(c.moveToFirst()){
do{

//assing values
int orderId = c.getInt(0);
String serviceName = c.getString(1);
String categoryName = c.getString(2);
String itemName = c.getString(3);
int itemRate = c.getInt(4);
int itemQty = c.getInt(5);
int itemTot = c.getInt(6);
//Do something Here with values


Log.d("Order Table ",orderId+" , "+serviceName+" , "+categoryName+" , "+itemName+" , "+itemRate+" , "+itemQty+" , "+itemTot);

}while(c.moveToNext());
}
c.close();
db.close();

}

我必须对现有代码进行哪些更改才能获取 orderId、serviceName、categoryName、itemName、itemRate、itemQty 和 itemTot 数组。

感谢任何帮助或建议。谢谢。

最佳答案

请按照以下步骤操作。

  1. 首先创建一个bean(getter setter类),例如..

    public class ItemDetails{

    int orderId;
    // declare variable for all data here and also getter setter method(like below for orderid)

    // Empty constructor
    public ItemDetails(){

    }

    public int get_orderId() {
    return orderId;
    }

    public void set_orderId(int orderId ) {
    this.orderId = orderId;
    }
    }
  2. 现在使用这个方法..

    // Getting All data
    public List<ItemDetails> getAllItemDetails() {
    List<ItemDetails> listAll = new ArrayList<ItemDetails>();
    // Select All Query
    String selectQuery = "SELECT * FROM " + ORDER_TABLE;

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
    do {

    ItemDetails operatorTable = new ItemDetails();
    //here get all data from cursor and set it into setter method like below
    operatorTable.set_orderId(Integer.parseInt(cursor.getString(0)));
    //operatorTable.set_Operator(cursor.getString(1));

    operatorList.add(operatorTable);
    } while (cursor.moveToNext());
    }

    // returnlist
    return listAll ;

    }

  3. 将此方法称为..

    List<ItemDetails > itemList = db.getAllItemDetails();

希望这对您有帮助。

关于java - 如何从 sqlite select 查询中获取数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41240823/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com