rawQuery有什么问题?

时间:2016-06-13 17:07:47

标签: android sql sqlite

我真的不知道为什么我的查询给出错误,每件事看起来都不错但是logcat显示msg语法错误。请查看我们查询中的人员。

public class ContactDatabase extends SQLiteOpenHelper {
    SQLiteDatabase db;
    public static final String DATABASE_NAME="totalContact1.db";
    public static final  String TABLE_NAME="mecontact1";
    public static final  String NAME="name";
    public static final  String PHONE="phone";
    public static final  String UID="_id";


    public ContactDatabase(Context context) {
        super(context, DATABASE_NAME, null, 1);

    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        try {
            db.execSQL("create table mecontact1" +
                    "(_id integer primary key , name text, phone text)");
        }catch(android.database.SQLException e){
                System.out.println("table create nhi ho rha");
        }
    }
 public Cursor forEditPurpose(int pos){

        db=this.getReadableDatabase();
      Cursor res =  db.rawQuery("SELECT, " + UID + ", name, phone FROM mecontact1 where " + UID + " = " + pos + "", null);
   return res;

    }
}

logcat状态是:

 Caused by: android.database.sqlite.SQLiteException: near ",": syntax error (code 1): , while compiling: SELECT, _id, name, phone FROM mecontact1 where _id = 1

2 个答案:

答案 0 :(得分:1)

更改以下内容:

Cursor res =  db.rawQuery("SELECT, "
    + UID + ", name, phone FROM mecontact1 where "
    + UID + " = " + pos + "", null);

要:

Cursor res =  db.rawQuery("SELECT "
    + UID + ", name, phone FROM mecontact1 where "
    + UID + " = " + pos + "", null);

答案 1 :(得分:1)

从此行删除SELECT

后的第一个“,”
Cursor res =  db.rawQuery("SELECT, " + UID + ", name, phone FROM mecontact1 where " + UID + " = " + pos + "", null);

这将是

Cursor res =  db.rawQuery("SELECT " + UID + ", name, phone FROM mecontact1 where " + UID + " = " + pos + "", null);