在創建的時候無法創建成功,ddms里看不到這張表,在插入的時候顯示空指標
public myhelper(Context context) {
super(context, "itcast.db", null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table information(_id integer primary key autoincrement,name varchar(20),price integer)");
db.execSQL("insert into information(name,price) values(?,?),new object[]{'a','6'}");
}
myhelper.getReadableDatabase();
myhelper.getWritableDatabase();
顯示的錯誤
12-28 12:58:30.440: E/AndroidRuntime(22971): FATAL EXCEPTION: main
12-28 12:58:30.440: E/AndroidRuntime(22971): Process: com.example.qaq, PID: 22971
12-28 12:58:30.440: E/AndroidRuntime(22971): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.qaq/com.example.qaq.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase com.example.qaq.myhelper.getReadableDatabase()' on a null object reference
12-28 12:58:30.440: E/AndroidRuntime(22971): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
12-28 12:58:30.440: E/AndroidRuntime(22971): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
12-28 12:58:30.440: E/AndroidRuntime(22971): at android.app.ActivityThread.access$800(ActivityThread.java:151)
12-28 12:58:30.440: E/AndroidRuntime(22971): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
12-28 12:58:30.440: E/AndroidRuntime(22971): at android.os.Handler.dispatchMessage(Handler.java:102)
12-28 12:58:30.440: E/AndroidRuntime(22971): at android.os.Looper.loop(Looper.java:135)
12-28 12:58:30.440: E/AndroidRuntime(22971): at android.app.ActivityThread.main(ActivityThread.java:5254)
12-28 12:58:30.440: E/AndroidRuntime(22971): at java.lang.reflect.Method.invoke(Native Method)
12-28 12:58:30.440: E/AndroidRuntime(22971): at java.lang.reflect.Method.invoke(Method.java:372)
12-28 12:58:30.440: E/AndroidRuntime(22971): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
12-28 12:58:30.440: E/AndroidRuntime(22971): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
12-28 12:58:30.440: E/AndroidRuntime(22971): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase com.example.qaq.myhelper.getReadableDatabase()' on a null object reference
12-28 12:58:30.440: E/AndroidRuntime(22971): at com.example.qaq.MainActivity.onCreate(MainActivity.java:15)
12-28 12:58:30.440: E/AndroidRuntime(22971): at android.app.Activity.performCreate(Activity.java:5990)
12-28 12:58:30.440: E/AndroidRuntime(22971): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
12-28 12:58:30.440: E/AndroidRuntime(22971): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
12-28 12:58:30.440: E/AndroidRuntime(22971): ... 10 more
少掉實體化
12-28 12:58:03.540: E/SQLiteLog(22708): (1) near "new": syntax error
uj5u.com熱心網友回復:
itcast.db資料庫檔案存在嗎?你確認本次運行程式時,onCreate被呼叫過?
uj5u.com熱心網友回復:
itcast都沒有。。。。
uj5u.com熱心網友回復:
方便的話,私信我,把工程發我來看看。uj5u.com熱心網友回復:
你得先創建一個Myhelper物件才能呼叫其成員函式SQLiteDatabase db=myhelper.getWritableDatabase();
前面加一句myhelper = new Myhelper(this);
uj5u.com熱心網友回復:
先回爐把把JAVA復習一下,基礎不牢,地動山搖
uj5u.com熱心網友回復:
驚了!!!!!我那個是放在主函式,以為一樣!!!!我透了,感謝大哥!!!!!轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/75602.html
標籤:Android
