Ich bin fast fertig mit dem Erstellen meiner ersten Datenbank, aber ich denke, einige der Syntax in meinem oncreate
ist falsch. Ich kann nicht herausfinden, wo aber? Ich habe versucht, Tutorials anzuschauen und habe versucht, meinen Code auf ihren zuzuschneiden, aber nichts scheint zu funktionieren.SQLite Datenbankfehler bei der Eingabe von Daten
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;
}
}
Der Fehler ist wie folgt:
Fehler beim Einfügen Name = sss DateReceived = s = ExpiryDate s`
android.database.sqlite.SQLiteException: Tabelle stock_table hat keine Spalte mit dem Namen Namen (Code 1):, beim Kompilieren: (?,?,?) INSERT INTO stock_table (Name, DateReceived, ExpiryDate) VALUES
Es ist offensichtlich, dass Ihre Tabelle stock_table keine Spalte namens Name hat, nur das Lesen der Ausnahme Hinweise Sie gut. . . – GingerHead