2012-02-22 2 views
0

почему SqlLite запрос в андроида за исключением продукции NullPointer Я использую этот кодSqlite Query производит исключение Nullpointer?

public void onCreate(SQLiteDatabase db) 
    { 
    String newTableQueryString = "create table " +TABLE_NAME +" (" + 
            TABLE_ROW_ID + " integer primary key autoincrement not null," + 
            TABLE_ROW_ONE + " text," + 
            TABLE_ROW_TWO + " text" + 
            ");"; 
Log.e("check","table have been created"+newTableQueryString); 
     try{ 

      mdb.execSQL(newTableQueryString);//it produce exce[ption 
     }catch(Exception e) 
     { 
      Log.e("Exception"," "+ e.getMessage()); 
      e.printStackTrace(); 
      } 
    } 
+1

Что такое mdb здесь? –

+0

mdb является ссылкой класса DataBaseManager, который содержит код создания таблицы .. –

ответ

1

Моя догадка MDB равна нулю, когда вы звоните:

mdb.execSQL(newTableQueryString); 

вы имели в виду, чтобы вызвать метод ExecSQL на дб метод, который вы передаете методу onCreate?

+0

этот метод присутствует в классе DataBaseManager, и я делаю объект этого класса в Resume Method запускающей деятельности. –

+0

Взгляните на [Жизненный цикл активности] (http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle). Метод onResume() не вызывается только после onCreate(), поэтому поэтому mdb имеет значение null в методе onCreate. –