簡體   English   中英

列'name'不存在

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM