2012-02-15 82 views
0

我在/data/data/sankalp.jain.shre/databases/loginfinal.db中有一個表login2。在android中查詢數據庫

數據庫已正確創建,我已經使用adb sqlite3驗證了自己並查詢了表。 從命令行插入工作,但使用rawQuery,似乎數據不會被添加(也不能在命令行上獲取它)。

private SankalpDB dbhandle; //SankalpDB extends SQLiteOpenHelper 
    private SQLiteDatabase sqdb; 
    .............. 

    public void open() throws SQLException { 
    System.out.println("Opening"); //This also gets printed. 
    sqdb = dbhandle.getWritableDatabase(); 
} 



    public void addUser() 
{ System.out.println("Adduser"); 
    System.out.println(sqdb.getPath()); ///prints /data/data/sankalp.jain.shre/databases/loginfinal.db 

    sqdb.rawQuery("Insert into login2 values('ax13','Kate','password');", null); 
    sqdb.rawQuery("Insert into login2 values('cax56','Natalie','passswd');", null); 
.... 
... 
sqdb.close(); 
} 

logcat輸出也沒有給出任何錯誤。我在這裏做錯了什麼。

回答

0

嘗試做如下:

Cursor c = sqdb.rawQuery("Insert into login2 values('ax13','Kate','password');", null); 
    c.moveToFirst(); 
    c.close(); 
+0

光標C = sqdb。 rawQuery(「Insert into login2 values('ader','Kate','voldemort');」,null); \t c.moveToFirst(); System.out.println(c.getCount()); //打印0 c.close(); \t} – Sankalp 2012-02-15 22:44:56

+0

使用movetofirst和close()運行整個查詢並檢查db – 2012-02-15 22:53:06

+0

,您還可以嘗試使用'sqldb.execSQL(「Insert into login2 values('ader','Kate','voldemort')」) ;' – 2012-02-15 23:01:23

0

也許你可以用擴展形式

sqdb.rawQuery("Insert into login2 (alias,user,password) values('ax13','Kate','password');", null); 

嘗試在那裏的別名,用戶名和密碼是數據庫字段