私は最近のsqliteを使用してアンドロイドにデータを挿入する方法を学習し、このエラーが発生し、このエラーが発生した理由を私は知らない、私は私の本を再読するために、私はそれからすべてのソリューションを持っていない試してみました。
私は私の本を再読し、インターネット上で問題を見つけました。
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のデータベースにデータを挿入すると予想しました。
変化する :-
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ので、実際の誤差があるCREATE TABLE table_name
あなたが解決されているSQLながらCREATE TABLEtb_penyakit
作成することを教えしようとしているので、TABLEtb_penyakitをCREATEし、SQLiteのにようなものはありませんCREATE TABLEtb_penyakitを。
上記で追加された他の空間がなければ、テーブルが作成されているだろうが、列はされているでしょう: -
あなたが存在すると予想することを列が存在していないだろうとして、インサートは、その後、失敗しただろう。