error ha ocurrido al intentar insertar datos en sqlte

bramasta equivocada:

Así que recientemente aprender a insertar los datos en Android usando SQLite, y se produjo el error, no sé por qué se produjo este error, he tratado de volver a leer mi libro y no tengo ninguna solución de la misma.

He releído mi libro y encontrar el problema en el Internet.

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);
  }

El error en 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)

Me esperaba para insertar datos en la base de datos SQLite.

Mike:

Cambio :-

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);
  }

a

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);
  }

Entonces tambien :-

  • borrar los datos de la aplicación, o
  • desinstalar la App

y vuelva a ejecutar la aplicación.

explicaciones

La razón por la que el tema no surgió hasta que se ha intentado insertar se debe a que habría sido el primer intento que se habría abierto la base de datos. Instanciar la base de datos del ayudante no resulta en la base de datos siendo creado (es decir, el onCreate método siendo ejecutado, onCreate sólo se ejecuta automáticamente cuando se realiza un intento de abrir la base de datos (implícita con un inserto) y no existe realmente la base de datos) .

La razón por la cual deben borrar los datos de la aplicación (o de la aplicación se desinstala, lo que eliminará los datos de la aplicación) es que esto elimina la base de datos y por lo tanto el onCreate método se ejecutará (no se ejecuta cuando existe la base de datos).

El error real es porque CREAR espera que el tipo de lo que va a ser creado en su caso CREATE TABLE table_name, mientras que el SQL que haya resuelto a CREATE TABLEtb_penyakitlo que está tratando de decirle que cree un CREATE TABLEtb_penyakit y para SQlite no hay tal cosa como un CREATE TABLEtb_penyakit .

Sin los otros espacios que se han añadido en lo anterior, la mesa habría sido creado pero las columnas habría sido: -

introducir descripción de la imagen aquí

El inserto entonces habría fallado, ya que no habrían existido las columnas que se espera que exista.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=206871&siteId=1
Recomendado
Clasificación