-1
私は最初のアプリケーションを書いていますが、データベースを組み込もうとしています なぜsqlitedatabaseの挿入メソッドは-1を返しますか?私は混乱してい ...なぜsqlitedatabase.insertは-1を返しますか?
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "MyDatabase";
private static final String TABLE_CONTACT = "contact";
private static final String id_col = "id";
private static final String name_col = "name";
private static final String ph_num_col = "phone_number";
public static final String CREATE__TABLE_contact=
"CREATE TABLE " + TABLE_CONTACT + " (" +
id_col + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
name_col + " TEXT, " +
ph_num_col + " TEXT" + ")";
public SqliteDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
//sakhte table haye morede niaz....
sqLiteDatabase.execSQL(CREATE__TABLE_contact);
}
................................... ...........................
public void addContact(Contact contact){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name",contact.getName());
values.put("phone_number",contact.getPhone_number());
Long test = db.insert(TABLE_CONTACT, null, values);
if(test== -1) {
Log.i("insert", ""+test);
}
db.close();
}
ログトレースを提供できますか? –
-1は、データベースに新しい行を挿入中にエラーが発生したことを意味します。具体的なSQLエラーのような詳細を提供する必要があります。あなたのlogcatを見て – GVillani82
ちょうどidの代わりに_idを列名として使ってみてください。http://stackoverflow.com/questions/3192064/about-id-field-in-android-sqlite – avinesh