我在Android应用数据库中创建了一个非常简单的表。发生了一些奇怪的事情,但我无法找到我的错误。
当我分析我的Android应用程序的数据库时,在我的表中有2列_id,如图所示
在这里你可以看到"处理"数据库。
public class ContactsDAO extends SQLiteOpenHelper {
public ContactsDAO(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, DB_NAME, factory, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
try {
String createQuery = "CREATE TABLE my_contact(_id integer primary key autoincrement, contact_uri text)";
sqLiteDatabase.execSQL(createQuery);
}
catch(Exception e){
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1){}
public void add(MyContact myContact){
ContentValues contentValues = new ContentValues();
contentValues.put(contact_uri, "uriiiiiiiii");
SQLiteDatabase database = this.getWritableDatabase();
database.insert(my_contact, null, contentValues);
database.close();
}
}
Thank in advance.
解决方案
正如用户 CL。所说,这是该工具的错误。如果我使用adb检查表格,表格是正确的,正如您在此图片中看到的那样
答案 0 :(得分:5)
不可能有两个具有相同名称的列。
数据库很好。 “开发者工具”窗口中的显示是错误的。