猿问

当我尝试将数据插入 sqlte 时出错

所以我最近学习如何使用sqlite在Android中插入数据,并且发生了这个错误,我不知道为什么会发生这个错误,我试图重新阅读我的书,我没有任何解决方案。


我重读了我的书,并在互联网上发现了这个问题。


SQLiteDatabase db;

public DBAdapter(Context context,String name, SQLiteDatabase.CursorFactory 

factory, int version){

    super(context,DATABASE_NAME,factory,DATABASE_VERSION);

}


@Override

public void onCreate(SQLiteDatabase db){

    String CREATE_TABLE = "CREATE TABLE" + TABLE_CONTACTS + "(" + nomber +

            "INTEGER PRIMARYKEY," + namapen + "TEXT," + idPen + "INTEGER," 

  + namaGej + "TEXT," + idGej + "TEXT )";

    db.execSQL(CREATE_TABLE);

  }

logcat 中的错误:


Process: com.example.lordbramasta.pakar, PID: 20404

    android.database.sqlite.SQLiteException: near "TABLEtb_penyakit": syntax error (code 1 SQLITE_ERROR): , while compiling: CREATE TABLEtb_penyakit(nomberINTEGER PRIMARYKEY,namapenTEXT,idPenINTEGER,namaGejTEXT,idGejTEXT )

        at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)

        at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:901)

我希望将数据插入 sqlite 数据库中。



翻翻过去那场雪
浏览 120回答 1
1回答

尚方宝剑之说

更改 :-public void onCreate(SQLiteDatabase db){    String CREATE_TABLE = "CREATE TABLE" + TABLE_CONTACTS + "(" + nomber +            "INTEGER PRIMARYKEY," + namapen + "TEXT," + idPen + "INTEGER,"   + namaGej + "TEXT," + idGej + "TEXT )";    db.execSQL(CREATE_TABLE);  }自public void onCreate(SQLiteDatabase db){    String CREATE_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "(" + nomber +            " INTEGER PRIMARY KEY," + namapen + " TEXT," + idPen + " INTEGER,"   + namaGej + " TEXT," + idGej + " TEXT )";    db.execSQL(CREATE_TABLE);  }然后要么:-删除应用的数据,或卸载应用程序,然后重新运行该应用程序。解释在尝试插入之前未出现此问题的原因是,这将是第一次尝试打开数据库。实例化数据库帮助程序不会导致创建数据库(即,正在执行 onCreate 方法,onCreate 仅在尝试打开数据库(隐式插入)并且数据库实际上不存在时才自动执行)。应该删除应用程序的数据(或卸载应用程序,这将删除应用程序的数据)的原因是这将删除数据库,因此 onCreate 方法将运行(当数据库存在时,它不会运行)。实际的错误是因为CREATE期望在您的案例中创建的内容的类型,而您已经解析为SQL,因此您试图告诉它创建一个CREATE TABLEtb_penyakit并且对于SQlite来说,没有CREATE TABLEtb_penyakit这样的东西。CREATE TABLE table_nameCREATE TABLEtb_penyakit如果没有在上面添加的其他空格,该表将被创建,但列将是:-然后,插入将失败,因为您期望存在的列将不存在。
随时随地看视频慕课网APP

相关分类

Python
我要回答