erro ocorreu ao tentar inserir dados em sqlte

errado bramasta:

Então eu recentemente aprender como inserir dados no android usando sqlite, e ocorreu este erro, eu não sei por que ocorreu este erro, tenho tentado a reler meu livro e eu não tenho qualquer solução a partir dele.

Reli o meu livro e encontrar o problema na 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);
  }

O erro na 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)

Eu esperava para inserir dados no banco de dados SQLite.

Mike:

Mudança :-

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

para

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

Qualquer então :-

  • excluir dados do App, ou
  • desinstalar o App

e, em seguida, execute novamente o App.

explicações

A razão pela qual a questão não surgiu até que você tentou inserir é porque que teria sido a primeira tentativa que o banco teria sido aberto. Instanciar o banco de dados não Helper não resultar no banco de dados a ser criado (ou seja, o onCreate método que está sendo executado, onCreate só é executado automaticamente quando é feita uma tentativa para abrir o banco de dados (implícito com uma inserção) eo banco de dados na verdade não existe) .

A razão pela qual os dados do aplicativo deve ser excluído (ou a App é desinstalado, que irá apagar os dados do App) é que este exclui o banco de dados e, assim, o onCreate método será executado (ele não é executado quando existe o banco de dados).

O erro real é porque CRIAR espera que o tipo do que está a ser criado no seu caso CREATE TABLE table_name, enquanto o SQL que você resolveu CREATE TABLEtb_penyakitassim que você está tentando dizer-lhe para criar um CRIAR TABLEtb_penyakit e SQlite não existe tal coisa como um TABLEtb_penyakit CRIAR .

Sem os outros espaços que foram adicionados no exemplo acima, a tabela teria sido criado, mas as colunas teria sido: -

digite descrição da imagem aqui

A inserção teria então falhou, como as colunas que preveja sua existência não teria existido.

Acho que você gosta

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