import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = this.openOrCreateDatabase("Practice", MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS blah (subjects VARCHAR, notes VARCHAR, amount VARCHAR");
}
Das Fehlerprotokoll:Android SQLite Fehler beim Erstellen einer Tabelle (VARCHAR einen Fehler verursacht)
E/SQLiteLog: (1) in der Nähe von "VARCHAR": Syntaxfehler 06-30 23.46 : 21,834 11.420-11.420/com.asd.sqltesting D/Android Runtime: 46:: 21,835 11.420-11.420/com.asd.sqltesting E/Android Runtime: Schwerwiegende Ausnahme: main Prozess: VM 06-30 23 Abschalten com .asd.sqltesting, PID: 11420 java.lang.RuntimeException: Aktivität konnte nicht gestartet werden ComponentI nfo {com.asd.sqltesting/com.asd.sqltesting.MainActivity}: android.database.sqlite.SQLiteException: in der Nähe von "VARCHAR": Syntaxfehler (Code 1):, beim Kompilieren: CREATE TABLE IF EXISTS blah (Subjekten VARCHAR stellt VARCHAR Menge VARCHAR bei android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2298) bei android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2360) bei android.app.ActivityThread .access $ 800 (ActivityThread.java:144) um android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1278) bei android.os .Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:135) bei android.app.ActivityThread.main (ActivityThread.java:5221) bei java.lang.reflect .Method.invoke (native Methode) bei java.lang.reflect.Method.invoke (Method.java:372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:899) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:694) verursacht durch: android.database.sqlite.SQLiteException: in der Nähe von "VARCHAR": Syntaxfehler (Code 1):, beim Kompilieren: CREATE TABLE WENN NICHT VORHANDEN b LAH (Subjekten VARCHAR stellt VARCHAR Menge VARCHAR bei android.database.sqlite.SQLiteConnection.nativePrepareStatement (Mutter Method) bei android.database.sqlite.SQLiteConnection.acquirePreparedStatement (SQLiteConnection.java:889) bei android .database.sqlite.SQLiteConnection.prepare (SQLiteConnection.java:500) um android.database.sqlite.SQLiteSession.prepare (SQLiteSession.java:588) bei android.database.sqlite.SQLiteProgram. (SQLiteProgram.java:58) um android.database.sqlite.SQLiteStatement . (SQLiteStatement.java:31) bei android.database.sqlite.SQLiteDatabase.executeSql (SQLiteDatabase.java:1674) bei android.database.sqlite.SQLiteDatabase.execSQL (SQLiteDatabase.java:1605) bei com. asd.sqltesting.MainActivity.onCreate (MainActivity.java:18) bei android.app.Activity.performCreate (Activity.java:5933) bei android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1105) bei android.app.ActivityThread.performLaunchActivity (ActivityThread.java: 2251) bei android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2360) bei android.app.ActivityThread.access $ 800 (ActivityThread.java:144) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1278) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:135) bei android.app.ActivityThread.main (ActivityThread .java: 5221) bei java.lang.reflect.Method.invoke (native Methode) bei java.lang.reflect.Method.invoke (Method.java:372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:899) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:694)
I versucht, eine Tabelle mit mehreren Spalten zu erstellen, aber das passiert weiter. Diese genaue Codezeile wird für ein anderes Projekt verwendet, der Fehler tritt jedoch beim zweiten Mal in derselben Aktivität auf.
wow das war dumm .. aber danke für die Hilfe! – MrMuffins