Я почти закончил создание своей первой базы данных, однако я думаю, что некоторые из синтаксиса в моем oncreate
ошибочны. Я не могу понять, где же? Я пробовал смотреть на учебные пособия и пытался адаптировать свой код к своему, но ничего не работает.Ошибки базы данных SQLite с вводом данных
package com.example.bash1.sqlitediss;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
// Database name
public static final String DATABASE_STOCKDB = "Stock.db";
// Column names
public static final String TABLE_NAME = "stock_table";
public static final String COL_1 = "ID";
public static final String COL_2 = "Name";
public static final String COL_3 = "Datereceived";
public static final String COL_4 = "Expirydate";
public DatabaseHelper(Context context) {
super(context, DATABASE_STOCKDB, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table stock_table " + TABLE_NAME + " (" + COL_1 + "INTEGER PRIMARY KEY,"+ COL_2 + "INTEGER,"+ COL_3 + "INTEGER," + COL_4 +"INTEGER" + ")");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
public boolean insertData(String Name, String Datereceived, String Expirydate){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2, Name);
contentValues.put(COL_3, Datereceived);
contentValues.put(COL_4, Expirydate);
long result = db.insert(TABLE_NAME,null,contentValues);
if (result == -1)
return false;
else
return true;
}
}
Ошибка заключается в следующем:
Ошибка вставки Имя = SSS DateReceived = s = ExpiryDate s`
android.database.sqlite.SQLiteException: таблица stock_table не имеет столбец с именем Name (код 1):, при компиляции: (??,) INSERT INTO stock_table (имя, DateReceived, ExpiryDate) VALUES
Очевидно, что в вашей таблице stock_table нет столбца с именем Name, только чтение исключения хорошо вас намекает. , , – GingerHead