2017-11-12 15 views
0

まず第一に、私は他の解決策を試みましたが、私にとってはうまくいかなかったのです。 これは私がテーブルを作成する方法である:テーブル(テーブル名)にはカラム名(カラム名)はありません

String CREATE_DETAILS_TABLE = "CREATE TABLE " + TABLE_DETAIL + "(" 
      + STATUS + " TEXT," + FIRST_NAME + " TEXT," + LAST_NAME + " TEXT," + EMAIL + " TEXT," + COUNTRY 
      + " TEXT," + COUNTRYALPHA2 + " TEXT," + CITY + " TEXT," + ZIP + " TEXT," + ADDRESS 
      + " TEXT," + USERACCSTATUS + " TEXT," + SKYPENAME + " TEXT," + COUNTRY_NAME + " TEXT," + 
      PHONE_CODE + " TEXT," + PHONE + " TEXT," + DEVICEID + " TEXT," + STATUSDESC + " TEXT" + ")"; 
    db.execSQL(CREATE_DETAILS_TABLE); 

列と名前:テーブルに詳細を追加

private static final String TABLE_DETAIL = "detail"; 

// Details table columns 
private static final String STATUS = "Status"; 
private static final String FIRST_NAME = "FirstName"; 
private static final String LAST_NAME = "LastName"; 
private static final String EMAIL = "Email"; 
private static final String COUNTRY= "Country"; 
private static final String COUNTRYALPHA2= "CountryAlpha2"; 
private static final String CITY= "City"; 
private static final String ZIP = "Zip"; 
private static final String ADDRESS = "Address"; 
private static final String USERACCSTATUS = "UserAccStatus"; 
private static final String SKYPENAME = "SkypeName"; 
private static final String COUNTRY_NAME = "CountryName"; 
private static final String PHONE_CODE = "Phonecode"; 
private static final String PHONE = "Phone"; 
private static final String DEVICEID = "DeviceIdentificator"; 
private static final String STATUSDESC = "StatusDescription"; 

public void addDetails(String status,String firstName,String lastName,String email 
     ,String country,String countryAlpha2,String city,String zip,String address,String userAccStatus 
,String skypename,String phonecode,String phone,String countryname,String deviceid,String statusDesc){ 

    SQLiteDatabase db = this.getWritableDatabase(); 
    ContentValues contentValues = new ContentValues(); 

    contentValues.put(STATUS,status); 
    contentValues.put(FIRST_NAME,firstName); 
    contentValues.put(LAST_NAME,lastName); 
    contentValues.put(EMAIL,email); 
    contentValues.put(COUNTRY,country); 
    contentValues.put(COUNTRYALPHA2,countryAlpha2); 
    contentValues.put(CITY,city); 
    contentValues.put(ZIP,zip); 
    contentValues.put(ADDRESS,address); 
    contentValues.put(USERACCSTATUS,userAccStatus); 
    contentValues.put(SKYPENAME,skypename); 
    contentValues.put(PHONE_CODE,phonecode); 
    contentValues.put(PHONE,phone); 
    contentValues.put(COUNTRY_NAME,countryname); 
    contentValues.put(DEVICEID,deviceid); 
    contentValues.put(STATUSDESC,statusDesc); 

    long id = db.insert(TABLE_DETAIL,null,contentValues); 
    db.close(); 

    Log.d(TAG,"User Details added into sqlite: " + id); 
} 

とするとき、それは私にこのエラーが発生します詳細を追加しようとしています:

android.database.sqlite.SQLiteException:テーブル詳細にStatusDescription(code 1)という名前の列がありません :コンパイル中にINSERT INTO 詳細(ステータス、郵便番号、電子メール、アドレス、UserAccStatus、国名、名、都市、SkypeName、電話番号、StatusDescription、Phonecode、Country、LastName、CountryAlpha2、DeviceIdentificator) VALUES(?、?、?、?、?、?、?、?、?、?)

私はこのすべてに新しいので、誰かが私が問題の原因を見つけるのを助けることができたら、それは素晴らしいだろう!

+0

エラーはかなりわかりやすいです。あなたが照会しているテーブル内にそのような列がないか、間違ったテーブルを照会しています。 –

+0

@Aominèは、私が間違っていることを私は見ません。 –

+0

あなたは照会しているテーブルのテーブル列のスクリーンショットを表示できますか? –

答えて

0

メッセージには、StatusDescriptionという名前の列がないというメッセージが表示されます。名前が正しいと確信していますか?

+0

私はその場所にコピーして貼り付けました。 –

関連する問題