gpt4 book ai didi

java - 我需要在 sqlite 中进行搜索并部署相同的数据与新参数进行比较

转载 作者:行者123 更新时间:2023-12-02 02:05:18 25 4
gpt4 key购买 nike

我有一个数据库,其中包含各个用户的名称和个人代码 (RFC)。
我需要在两个表(名称和 RFC)中进行搜索,引入新参数,比较并部署具有相同名称或相同代码(RFC)的列表。

但是我的程序仅部署具有相同名称或代码(RFC)的第一条记录。如果有多个同名用户,我需要部署所有用户,而不仅仅是找到的第一个用户。

listUser=new ArrayList<>();

private void consultSQL() {
SQLiteDatabase db=conn.getReadableDatabase();
String[] parameter={campoId.getText().toString() , campoId.getText().toString() };
User user=null;

try {
Cursor cursor=db.rawQuery("SELECT "
+Utilities.TABLE_ID+","
+Utiliiess.TABLE_NAME+","
+Utilities.TABLE_NUMBER+ ","
+Utilities.TABLE_RFC+ ","
+Utilities.TABLE_PASSWORD+
" FROM "+Utilidades.TABLE_USER+" WHERE "+Utilities.TABLE_NAME+ " = ? OR " +Utilities.TABLE_RFC+" = ? ",parameter);

cursor.moveToFirst();
user = new User();
user.setId(cursor.getInt(0));
user.setName(cursor.getString(1));
user.setNumber(cursor.getString(2));
user.setRFC(cursor.getString(3));
user.setPassword(cursor.getString(4));

listUser.add(user);



}catch (Exception e){
e.printStackTrace();
Toast.makeText(getApplicationContext(),"No coincidence",Toast.LENGTH_LONG).show();
}

}

最佳答案

您移动到光标的第一个元素

cursor.moveToFirst();

这样你就得到了第一条记录。光标拥有您想要的所有记录,但您无需迭代光标来获取它们。要迭代光标,请使用

 User = new User();

while (cursor.moveToNext()) {
user.setId(cursor.getInt(0));
user.setName(cursor.getString(1));
user.setNumber(cursor.getString(2));
user.setRFC(cursor.getString(3));
user.setPassword(cursor.getString(4));

listUser.add(user);
}

关于java - 我需要在 sqlite 中进行搜索并部署相同的数据与新参数进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50921947/

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