Android:数据库处理程序SQLiteException [英] Android: Database handler SQLiteException

查看:92
本文介绍了Android:数据库处理程序SQLiteException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我在数据库处理程序类中都具有此方法,该类要做的是从产品表中返回产品的ID。但是,我收到这个sqliteexception,我不知道为什么。
请提出建议,谢谢。

Hello all i have this method in the database handler class and what this class do is to return the ID of the product from the product table. However, i am receiving this sqliteexception which i do not know why. Please advice thank you.

    private static final String TABLE_PRODUCT = "product"
    private static final String KEY_PRODUCTNAME = "productname";

public String getProductId(String productName) {
   String selectQuery = "SELECT productid FROM " + TABLE_PRODUCT+ " WHERE " +KEY_PRODUCTNAME +" = " + productName;

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);
    String productid = cursor.toString();
    cursor.close();
    db.close();

    return productid;
}

错误:

E/AndroidRuntime(1884): FATAL EXCEPTION: main
E/AndroidRuntime(1884): android.database.sqlite.SQLiteException: unrecognized token: "Bluedress34.50" (code 1): , while compiling: SELECT productid FROM product WHERE productname = "Bluedress34.50"

我的活动类:

add.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {

    DatabaseHandler db = new DatabaseHandler(getApplicationContext());

                    String productname = pname.getText().toString();
                    String productQTY = pqty.getText().toString();

                    String productnameid = db.getUProductId(productname);


                    JSONObject json = userFunction.addSales(productnameid, productQty);

}

}

myuserfunction类:

my userfunction class:

public JSONObject addSales(productnameid, productQty){
    // Building Parameters

    List<NameValuePair> paramsfile = new ArrayList();

    paramsfile.add(new BasicNameValuePair("productnameid", productnameid));
    paramsfile.add(new BasicNameValuePair("productQty", productQty));


    JSONObject jsonfileName  =  jsonParser.getJSONFromUrl(addFileURL, paramsfile);

   Log.e("JSON", jsonfileName.toString());
    return jsonfileName;
}


推荐答案

由于产品名称位于字符串中在查询中使用格式',如下所示,

Since product name is in String Format use ' in query, like below,

String selectQuery = "SELECT productid FROM " + TABLE_PRODUCT 
      + " WHERE " + KEY_PRODUCTNAME +" ='" + productName  +"'";

这篇关于Android:数据库处理程序SQLiteException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆