Вывод второй таблицы в ListView

132
23 марта 2022, 03:30

Возникла проблема. Имею две таблицы в SQLite, в первой нормально выводятся и добавляются данные. Во второй же в ListView ничего не выводит. Вот код DBHeleper, здесь интересует table2. Подскажите пожалуйста. В чем ошибка?

public class DBHelper extends SQLiteOpenHelper {
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "contacts";
public static final String add_summ = "contacts";
public static final String KEY_ID = "_id";
public static final String summ1 = "summ";
public static final String date1 = "date";
public static final String time1 = "time";
public static final String category1 = "category";
public static final String account1 = "account";
public static final String comment1 = "comment";
public static final String table2 = "cons";
public static final String KEY_ID2 = "_id2";
public static final String summ2 = "summ2";
public static final String date2 = "date2";
public static final String time2 = "time2";
public static final String category2 = "category2";
public static final String account2 = "account2";
public static final String comment2 = "comment2";
public DBHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table " + add_summ + "(" + KEY_ID
            + " INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT," + summ1 + " INTEGER NOT NULL," + date1 + " TEXT NOT NULL," +
            time1 + " TEXT NOT NULL," +
            category1 + " TEXT NOT NULL," +
            account1 + " TEXT NOT NULL,"
            + comment1 + " text" + ");");
    db.execSQL("create table " + table2 + "(" + KEY_ID2
            + " INTEGER NOT NULL, " + summ2 + " INTEGER NOT NULL," + date2 + " TEXT NOT NULL," +
            time2 + " TEXT NOT NULL," +
            category2 + " TEXT NOT NULL," +
            account2 + " TEXT NOT NULL,"
            + comment2 + " text" + ");");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("drop table if exists " + add_summ);
    db.execSQL("drop table if exists " + table2);
    onCreate(db);
}
public boolean insertData(String sum,String date,String time, String categ, String acc, String comm) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(summ1,sum);
    contentValues.put(date1,date);
    contentValues.put(time1,time);
    contentValues.put(category1,categ);
    contentValues.put(account1,acc);
    contentValues.put(comment1,comm);
    long result = db.insert(add_summ,null ,contentValues);
   /* if(result == -1)
        return false;
    else
        return true;*/
   return true;
}
public boolean insertData2(String sum2,String date1,String time1, String categ2, String acc2, String comm2) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues input = new ContentValues();
    input.put(summ2,sum2);
    input.put(date2,date1);
    input.put(time2,time1);
    input.put(category2,categ2);
    input.put(account2,acc2);
    input.put(comment2,comm2);
    long result =  db.insert(table2,null ,input);
  if(result == -1)
        return false;
    else
        return true;
}

Вот добавление данных в table2. При нажатии на кнопку у меня выводится "Data Inserted"

public void onClick(View a) {
   boolean isInserted = dbHelper.insertData2(sum.getText().toString(),
            data.getText().toString(),
            time.getText().toString(),
            category.getText().toString(),
            acc.getText().toString(),
            comment.getText().toString());
    if(isInserted = true)
        Toast.makeText(consumption.this,"Data Inserted",Toast.LENGTH_LONG).show();
            else
    Toast.makeText(consumption.this," NOT Data Inserted",Toast.LENGTH_LONG).show();
}

А вот сам вывод в ListView, в нем ничего не показывается и не выдает никаких ошибок

 private ListView userList;

    DBHelper mDBHelper;
    SQLiteDatabase mDb;
    Cursor userCursor;
    private SimpleCursorAdapter userAdapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_conslist);
        userList = (ListView) findViewById(R.id.list);
        mDBHelper = new DBHelper(this);

        mDb = mDBHelper.getWritableDatabase();
        userList.invalidateViews();
        //Список клиентов
        final ArrayList<HashMap<String, Object>> clients = new ArrayList<HashMap<String, Object>>();
//Список параметров конкретного клиента
        HashMap<String, Object> client;
//Отправляем запрос в БД
        Cursor cursor = mDb.rawQuery("SELECT * FROM " + DBHelper.table2, null);
        // Cursor cursor = mDb.rawQuery("SELECT * FROM add_summ", null);
        cursor.moveToFirst();
//Пробегаем по всем клиентам
        while (!cursor.isAfterLast()) {
            client = new HashMap<String, Object>();
            //Заполняем клиента
            client.put(DBHelper.summ2, cursor.getString(1));
            client.put(DBHelper.date2, cursor.getString(2));
            client.put(DBHelper.time2, cursor.getString(3));
            client.put(DBHelper.category2, cursor.getString(4));
            client.put(DBHelper.account2, cursor.getString(5));
            client.put(DBHelper.comment2, cursor.getString(6));
            //Закидываем клиента в список клиентов
            clients.add(client);
            //Переходим к следующему клиенту
            cursor.moveToNext();
        }
        cursor.close();
//Какие параметры клиента мы будем отображать в соответствующих
//элементах из разметки adapter_item.xml
        String[] from = {DBHelper.summ2, DBHelper.date2,DBHelper.time2,DBHelper.category2,DBHelper.account2,DBHelper.comment2};
        int[] to = {R.id.textView, R.id.textView2,R.id.textView3,R.id.textView4,R.id.textView5,R.id.textView6};
//Создаем адаптер
        final SimpleAdapter adapter = new SimpleAdapter(this, clients, R.layout.adapter_item2, from, to);

        userList.setAdapter(adapter);

    }
READ ALSO
Как добавить фильтр только к &lt;image /&gt; внутри SVG, но не ко всему SVG

Как добавить фильтр только к <image /> внутри SVG, но не ко всему SVG

У меня небольшая проблема со стилизацией SVG и изображением внутриВ SVG у меня есть два фильтра

121
Придание стилей одному элементу при наведении на другой

Придание стилей одному элементу при наведении на другой

Если использовать псeвдоэлемент :hover и прописать стили конкретному элементу, то эти стили будут применены к немуНо как сделать так, чтобы...

152
Фатальная ошибка

Фатальная ошибка

Есть у меня парсер музыки с ВК, так вот, он перестал работать, в чём может быть проблема?

93
Не работает фильтр array_filter php

Не работает фильтр array_filter php

Хочу от фильтровать массив, где есть значения "o" но что-то неправильно делаю, что надо изменить в коде? Чтоб массив отфильтровался и сохранял...

164