База данных не сохраняет значения с использованием методов перегрузки - PullRequest
0 голосов
/ 05 июня 2018

Я не могу понять, почему база данных либо не сохраняет введенные мной значения, либо это метод, который я использую для извлечения всех данных, которые работают неправильно.Он не выдает никаких ошибок, он просто не работает.Вот код:

    private static final String QUERY_TRIANGLE_CREATE_TABLE =
        "CREATE TABLE " + TRIANGLE_TABLE_NAME + " (" + TRIANGLE_COL_ID + " INTEGER PRIMARY KEY, " +
                TRIANGLE_VALUE_A + " TEXT, " + TRIANGLE_VALUE_C + "TEXT, " + TRIANGLE_VALUE_B + " TEXT, " + TRIANGLE_RESULT + " TEXT," + TRIANGLE_HISTORY_INFORMATION + " TEXT" +  "  );";


public void insertTriangleCalc(String a,String b, String c,String d,String e){
    SQLiteDatabase database = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(TRIANGLE_VALUE_A,a);
    values.put(TRIANGLE_VALUE_B,b);
    values.put(TRIANGLE_VALUE_C,c);
    values.put(TRIANGLE_RESULT,d);
    values.put(TRIANGLE_HISTORY_INFORMATION,e);

    database.insert("triangle", null, values);
    database.close();

}
public void insertTriangleCalc(String a,String b, String c,String d){
    SQLiteDatabase database = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(TRIANGLE_VALUE_A,a);
    values.put(TRIANGLE_VALUE_B,b);
    values.put(TRIANGLE_RESULT,c);
    values.put(TRIANGLE_HISTORY_INFORMATION,d);

    database.insert("triangle", null, values);
    database.close();}
public List<Triangle> ObjectRead() {

    List<Triangle> valuesList = new ArrayList<>();

    String sql = "SELECT  * FROM triangle ORDER BY id DESC";
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(sql, null);

    if (cursor.moveToFirst()) {
        do {

            int id = Integer.parseInt(cursor.getString(cursor.getColumnIndex("id")));
            String valueA = cursor.getString(cursor.getColumnIndex("valueA"));
            String valueB = cursor.getString(cursor.getColumnIndex("valueB"));
            String valueC="0";
            try {

            } catch (Exception e){

            }

            String result = cursor.getString(cursor.getColumnIndex("result"));
            String history = cursor.getString(cursor.getColumnIndex("history"));

            Triangle triangle = new Triangle();
            triangle.id = id;
            triangle.valueA = valueA;
            triangle.valueB  = valueB;
            triangle.valueC = valueC;
            triangle.Result = result;
            triangle.history = history;
            valuesList.add(triangle);

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

    return valuesList;
}

Может кто-нибудь взглянуть на это и помочь мне выяснить, что я не настраиваю должным образом.Это работает для открытого void insertTriangleCalc (Строка a, Строка b, Строка c, Строка d), но не для открытого void insertTriangleCalc (Строка a, Строка b, Строка c, Строка d, Строка e).

1 Ответ

0 голосов
/ 05 июня 2018

Решил проверить сверху вниз, и все происходило из-за пропущенного пустого пространства TRIANGLE_VALUE_C + "TEXT" <- здесь.Теперь эта проблема решена, и теперь она может правильно хранить данные. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...