2016-08-16 53 views
0

我是Android Studio中的新成员,我刚开始使用SQLite 我创建了一个SQLite文件(db),并创建了一个将表中的一些数据放入的函数:从SQLite获取信息(Android Studio)

public String FirstInsert() 
    { 
     String meassage = new String(); 

     SQLiteDatabase db = this.getWritableDatabase(); 
     ContentValues cv = new ContentValues(); 

     cv.put(COL_2,"hi how are you?"); 
     cv.put(COL_3,"blabla"); 
     cv.put(COL_4,"blabla"); 
     cv.put(COL_5,"blabla"); 
     cv.put(COL_6,"blabla"); 
     cv.put(COL_7,"blabla"); 
     cv.put(COL_8,"blabla"); 
     cv.put(COL_9,"blabla"); 
     cv.put(COL_10,"blabla"); 
     cv.put(COL_11,"blabla"); 


     long result = db.insert(TABLE_NAME,null,cv); 
     if(result == -1) 
     { 
      meassage = new String("Bad"); 
     } 
     else 
     { 
      meassage = new String("Good"); 
     } 
     return meassage; 

    } 

我希望做更多的spesific选择只需要一个项目,该COL_2而行的是,我得到所以我写了这个码数:

public Cursor GetQuestions(int num) 
    { 
     //num++; 
     SQLiteDatabase db = this.getWritableDatabase(); 
     Cursor res = db.rawQuery("SELECT QUESTION FROM " + TABLE_NAME + "ORDER BY " + num + "ASC LIMIT 1",null); 
     return res; 
    } 

这是正确的代码?如果这也是我为什么在这里得到一个错误?

非常感谢您的帮助!

回答

0

是,这是因为在sqlite代码 的单词之间没有空格,并且最好在每次查询后关闭您的光标和您的数据库 像这样

res.close(); 
db.close(); 
0

我刚看到,我已在SQLite的代码这样做的空间。

Cursor res = db.rawQuery("SELECT QUESTION FROM " + TABLE_NAME + "**&**ORDER BY " + num + "**&**ASC LIMIT 1",null); 

& =空间(我写&显示,我添加了空间