SQLite не может поместить данные в базу данных - PullRequest
0 голосов
/ 21 марта 2020

Я выдал ошибку в моем Android приложении, касающемся SQLlight, и не знаю, что с этим делать. Я довольно новичок в кодировании и не нашел ничего полезного. Итак, вот ошибка logcat:

2020-03-21 19: 35: 09.157 12866-12866 / com.l sh .homeauto E / SQLiteLog: (1) рядом с адресом : синтаксическая ошибка 2020-03-21 19: 35: 09.159 12866-12866 / com.l sh .homeauto E / SQLiteDatabase: Ошибка при вставке адреса устройства = jsjsjs Имя устройства = ehdhds android .database.sqlite.SQLiteException: рядом с адресом: синтаксическая ошибка (код 1 SQLITE_ERROR): при компиляции: INSERT INTO LED_Status (адрес устройства, имя устройства) VALUES (?,?) в android .database.sqlite.SQLiteConnection .nativePrepareStatement (собственный метод) в android .database.sqlite.SQLiteConnection.acquirePreparedStatement (SQLiteConnection. java: 986) в android .database.sqlite.SQLiteConnection.prepare (SQLiteConnection. java: 593 в) 1032 * .database.sqlite.SQLiteSession.prepare (SQLiteSession. java: 590) в android .database.sqlite.SQLiteProgram. (SQLiteProgram. java: 61) в android .database.sqlite.SQLiteStatement. (SQLiteStatement. java: 33) в android .database.sqlite.SQLiteDatabase.insertWithOnConflict (SQLi teDatabase. java: 1597) в android .database.sqlite.SQLiteDatabase.insert (SQLiteDatabase. java: 1468) в com.l sh .homeauto.DatabaseHelper.insertData1 (DatabaseHelper. java: 73 ) в com.l sh .homeauto.ui.list_of_devices.list_of_devicesFragment $ 2.onClick (list_of_devicesFragment. java: 63) в android .view.View.performClick (View. java: 7125) в android .view.View.performClickInternal (View. java: 7102) в android .view.View.access $ 3500 (View. java: 801) в android .view.View $ PerformClick.run (View . java: 27336) в android .os.Handler.handleCallback (Обработчик. java: 883) в android .os.Handler.dispatchMessage (Обработчик. java: 100) в android. os.Looper.l oop (Looper. java: 214) в android .app.ActivityThread.main (ActivityThread. java: 7356) в java .lang.reflect.Method.invoke (Native Method) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 492) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 930)

Мой код, соответствующий ошибке:

Databasehelper:

  public boolean insertData1(String Adress,String DeviceName) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(COL_1, Adress);
    contentValues.putNull(COL_2);
    contentValues.put(COL_3,DeviceName);
    contentValues.putNull(COL_4);
    contentValues.putNull(COL_5);
    long result = db.insert(Table_Name,null ,contentValues);
    if(result == -1)
        return false;
    else
        return true;
}

}

И код из фрагмента:

public  void AddData() {
    button_add_device.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    boolean isInserted = myDb.insertData1(editText_device_id.getText().toString(),
                            editText_device_name.getText().toString());
                    if(isInserted == true)
                        Toast.makeText(getActivity(),"Data Inserted",Toast.LENGTH_LONG).show();
                    else
                        Toast.makeText(getActivity(),"Data not Inserted",Toast.LENGTH_LONG).show();
                }
            }
    );
}

Единственные подсказки, которые у меня есть о происхождении ошибки, - это ошибка и что он всегда переходит к тосту «Данные не вставлены».

Надеюсь, вы мне поможете, ура!

...