![](/img/trans.png)
[英]ContactsContract query column 'display_name' does not exist
[英]column 'name' does not exist
我正在開發一個應用程序,我已經面臨這個問題,我做了一切,但仍然沒有解決,它包含一個error = "column 'name' does not exist"
如果可能給我一些解決這個問題的提示我刪除了數據庫電話也請,請提前幫助我。
public class DataBaseBON {
String TAG;
private Context ourContext;
private dbhelper ourhelper;
private SQLiteDatabase ourdatabase;
public final static String KEY_ID= "_id";
public final static String KEY_NUMBER="blockednumbers";
public final static String N_NAME="name";
public final static String DATABASE_NAME="databasebon.db";
public final static String DATABASE_TABLE="tabledb";
public final static int DATABASE_VERSION=2;
private static final String DATABASE_CREATE = "create table "
+ DATABASE_TABLE + "(" + KEY_ID
+ " integer primary key autoincrement, "
+ N_NAME + " text not null,"
+ KEY_NUMBER
+ " text not null);";
public class dbhelper extends SQLiteOpenHelper{
public dbhelper(Context context) { //?
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(dbhelper.class.getName(),
"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
onCreate(db);
}
}
public DataBaseBON(Context c){
ourContext =c ;
}
public DataBaseBON open() throws SQLException{
ourhelper = new dbhelper(ourContext);
ourdatabase = ourhelper.getWritableDatabase();
ourdatabase=ourhelper.getReadableDatabase();
return this;
}
public void close(){
ourhelper.close();
}
public long creatEntry(String inputnumber , String name) {
// TODO Auto-generated method stub
ContentValues cv= new ContentValues();
cv.put(KEY_NUMBER, inputnumber);
cv.put(N_NAME, name);
Log.v(inputnumber, "adding to Database");
return ourdatabase.insert(DATABASE_TABLE, null, cv);
}
public Cursor getcursor() {
String[] columns = new String[]{ N_NAME, KEY_NUMBER };
Cursor c=ourdatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
return c;}
public String[] getcloumns() {
String[] columns = new String[]{ N_NAME, KEY_NUMBER };
return columns ;
}
public int[] getto() {
String TAG = null;
int[] to = new int[] { android.R.id.text1, android.R.id.text2 };
Log.v(TAG, "get to is ok");
return to ;
}
public String[] getdata3(String[] result) {
String TAG = null;
String[] columns = new String[]{ N_NAME, KEY_NUMBER };
Cursor c=ourdatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
int iRow = c.getColumnIndex(N_NAME);
int iName = c.getColumnIndex(KEY_NUMBER);
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
@SuppressWarnings("unused")
String[] result1= new String[] {c.getString(iName),c.getString(iRow)};
Log.v(TAG, "is ok");
}
return result;
}
錯誤:
11-25 23:49:33.633: E/AndroidRuntime(4072): java.lang.RuntimeException: Unable to startactivity
ComponentInfo{vahid.engineer.com/vahid.engineer.com.BlackNumbersBlockDb}:
java.lang.IllegalArgumentException: column 'name' does not exist
您需要在dbhelper上使用此行
this.db = this.getWritableDatabase();
否則,不會調用onCreate。 請注意,您還需要一個“Database db”變量
http://www.finalconcept.com.au/article/view/android-creating-a-sqlite-database
有點遲,但遲到總比沒有我有這樣的問題,我正在使用內容提供程序,所以當你投影表的屬性任何未投影的屬性將不會被基本uri可見所以糾正該問題項目的所有屬性的表projectionMap.put(Tablename.Attribute1, Tablename.Attribute1) ;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.