gpt4 book ai didi

java - 使用 SQLOpenHelper 获取 ArrayList 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:42 24 4
gpt4 key购买 nike

我的 SQLiteOpenHelper 类有问题。我有一个包含打印机制造商和任何类型打印机详细信息的数据库。我尝试使用此代码从我的数据库中获取所有制造商,并将它们返回到数组列表中。

// Read database for All printer manufacturers and return a list
public ArrayList<String> getPrManufacturer(){
ArrayList<String> manufacturerList = new ArrayList<String>();
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query(CoDeskContract.Printer.TABLE_NAME,
printerManuProjection, null, null, null, null, null,null);

// If cursor is not null and manufacturer List
// does not contains Manufacturer in the list then add it!
if ((cursor != null) && (cursor.getCount()>0)){
cursor.moveToFirst();
do {
String cursorManufacturer = cursor.getString(0);
//Checking for manufacturer in the list
for(String manufacturerInList:manufacturerList){
if (!manufacturerInList.equals(cursorManufacturer))
manufacturerList.add(cursorManufacturer);
}
}while(cursor.moveToNext());
}

// Return list of manufacturers from database
return manufacturerList;
}

我希望每个制造商都出现在列表中。不知何故我无法让它工作。我还是个新手。

感谢您的帮助。

最佳答案

您还可以在 SQLite (http://www.sqlite.org/lang_select.html) 中使用 distinct 关键字。为此使用 SQLiteDatabase.rawQuery(String query, String[] args)。

db.rawQuery("SELECT DISTINCT name FROM "+ CoDeskContract.Printer.TABLE_NAME,null);

关于java - 使用 SQLOpenHelper 获取 ArrayList 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13709493/

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