2016-04-08 3 views
0

iはエラー//そのようなテーブルを有する:Pbook(コード1)自分のコードでそのようなテーブル(コード1)エラー

private static final String TABLE_NAME = "Pbook"; 
private static final String _ID = "_id"; 
private static final String NAME = "name"; 
private static final String ADDRESS = "address"; 
private static final String NUMBER = "number"; 
private static final String HUMAN = "human"; 

private static final String CREATE_TABLE = 
     "CREATE TABLE IF NOT EXIST " + TABLE_NAME + " (" + 
       _ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
       NAME + " TEXT," + 
       ADDRESS + " TEXT," + 
       NUMBER + " TEXT," + 
       HUMAN + " TEXT)"; 

public void onCreate(SQLiteDatabase db) { 
    db.execSQL(CREATE_TABLE); 

}

public void insert(String name, String address, String number, String human){ 
    SQLiteDatabase db = getWritableDatabase(); 
    db.execSQL("insert into " + TABLE_NAME + 
      " (name, address, number, human) values" + 
      "('" + name + 
      "','" + address + 
      "','" + number + 
      "','" + human +"');"); 
    db.close(); 
} 

Iをinsert()を使用すると、エラーは発生しません。そのようなテーブルはありません:(コード1)

確かに、私はdbで、getWritableDatabase()を使用します。

なぜエラーになるのですか?

+4

"CREATE TABLEが存在しない場合** ** ** –

+0

logcatを投稿してください –

+2

これはおそらくタイプミスによって引き起こされる可能性があります。私はこの質問を閉じるために投票します –

答えて

1

.....これが役立つことを願っています。 NOT

private static final String CREATE_TABLE = 
    "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " (" + 
      _ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
      NAME + " TEXT," + 
      ADDRESS + " TEXT," + 
      NUMBER + " TEXT," + 
      HUMAN + " TEXT)"; 

アンインストールをEXIST +罰金になり、アプリケーション、すべてを再インストールしない場合はではなく、CREATE TABLEをするを存在する場合にはCREATE TABLEをしなければなりません。

+3

再インストールだけでなくアンインストール+再インストール – laalto

0
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_NAME + "(" 
      + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT," 
      + KEY_NUM + " TEXT, "+ KEY_MAIL + " TEXT, "+ KEY_ADDR +" TEXT, " + HUMAN+ " TEXT " + ")"; 
    db.execSQL(CREATE_CONTACTS_TABLE); 

は、それは誤植だ

関連する問題