Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQL应用程序已停止_Android_Sql_Android Sqlite - Fatal编程技术网

Android SQL应用程序已停止

Android SQL应用程序已停止,android,sql,android-sqlite,Android,Sql,Android Sqlite,我按照下面的教程创建了一个SQL数据库应用程序,不幸的是,我遇到了一个问题,应用程序无法打开,有人能帮我看看我是否做错了什么 这是SQL代码 package com.example.sqltest2; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class Databa

我按照下面的教程创建了一个SQL数据库应用程序,不幸的是,我遇到了一个问题,应用程序无法打开,有人能帮我看看我是否做错了什么

这是SQL代码

package com.example.sqltest2;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper {
    public static final String DATABASE_NAME = "products.db";
    public static final String TABLE_NAME = "productstable.db";
    public static final String COL_1 = "ID";
    public static final String COL_2 = "NAME";
    public static final String COL_3 = "Aisle";
    public static final String COL_4 = "LOC";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME,null, 1);
        SQLiteDatabase db = this.getWritableDatabase();
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table" + TABLE_NAME +" (ID INTEGER PRIMAY KEY    AUTOINCREMENT, NAME TEXT, Aisle INTEGER, LOC INTEGER)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
        onCreate(db);
    }
}
Logcat指向上的语法错误

public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table" + TABLE_NAME +" (ID INTEGER PRIMAY KEY     AUTOINCREMENT, NAME TEXT, Aisle INTEGER, LOC INTEGER)");
}

编辑:主要问题可能是@Marc B指出的,PRIMAY应该是PRIMARY

我还注意到:

您的表名中有.db

更改此项:

public static final String TABLE_NAME = "productstable.db";
为此:

public static final String TABLE_NAME = "productstable";

除了马克和丹尼尔的回答;CREATE语句需要一个空格。 createtable+table_NAME+将生成类似createtableproductstable的内容。在表格后面放置一个空格,以便创建表格+表格名称+…

主键?也许是首席吧?