gpt4 book ai didi

java - 非法参数异常 : column '_id' does not exist?

转载 作者:行者123 更新时间:2023-11-29 11:28:50 26 4
gpt4 key购买 nike

我尝试将 CursorAdapterListView 一起使用,但 logcat 显示此消息:

"IllegalArgumentException: column '_id' does not exist"

这属于主要 Activity :

ContactDatabase onbOfContactDatabase=new ContactDatabase(getBaseContext());

Cursor mCursor= onbOfContactDatabase.phoneName();

String[] fromFileName=new String[]{ContactDatabase.NAME,ContactDatabase.PHONE};
int[] toViewId=new int[]{R.id.textView5,R.id.textView6};
SimpleCursorAdapter simpleCursorAdapter;

simpleCursorAdapter=new SimpleCursorAdapter(this,R.layout.forreading,mCursor,fromFileName,toViewId,0);
ListView myListView=(ListView)findViewById(R.id.listView);
myListView.setAdapter(simpleCursorAdapter);

这属于数据库:

public class ContactDatabase extends SQLiteOpenHelper {
SQLiteDatabase db;
public static final String DATABASE_NAME="totalContact.db";
public static final String TABLE_NAME="mecontact";
public static final String NAME="name";
public static final String PHONE="phone";


public ContactDatabase(Context context) {
super(context, DATABASE_NAME, null, 1);

}

@Override
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL("create table mecontact" +
"(id integer primary key autoincrement, name text, phone text)");
}catch(android.database.SQLException e){
System.out.println("table create nhi ho rha");
}
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS mecontact");
onCreate(db);
}

public void insertContact(String nam,String mob){

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

contentValues.put(NAME,nam);
contentValues.put(PHONE,mob);

db.insert(TABLE_NAME, null, contentValues);
db.close();
}
public Cursor phoneName(){

db=this.getWritableDatabase();
Cursor res = db.rawQuery("SELECT * FROM mecontact ", null);
return res;

}
}

最佳答案

只需将id更改为_id即可。 SimpleCursorAdapter 需要具有此名称的列。

db.execSQL("create table mecontact" +
"(_id integer primary key autoincrement, name text, phone text)");

如果您不想重命名列名称,则必须在选择查询中使用别名。

关于java - 非法参数异常 : column '_id' does not exist?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37756666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com