没有这样的列:498(code 1): [英] no such column: ٤۹۸ (code 1):
问题描述
我采用了android工作室译翻译编辑我的应用程序,我跑我的使用阿拉伯语的Android手机上的应用程序时出现此错误是它的语言:
android.database.sqlite.SQLiteException:没有这样的列:498(code 1),在编译:SELECT * FROM照中的STORE_ID = 498 ORDER BY photo_id ASC
块引用>在APP_ID的方法>的java>玉米>数据库>查询是:
公开的ArrayList<照片及GT; getPhotosByStoreId(INT STOREID){ ArrayList的<照片及GT;名单=新的ArrayList<照片及GT;();
DB = dbHelper.getReadableDatabase(); SQL字符串=的String.format(SELECT * FROM照中的STORE_ID =%d个,STOREID);
光标mCursor = db.rawQuery(SQL,NULL);
mCursor.moveToFirst(); 如果(!mCursor.isAfterLast()){
做{ 照片=进入formatPhoto(mCursor); list.add(输入);
}而(mCursor.moveToNext());
}
mCursor.close();
dbHelper.close(); 返回列表;
}
解决方案使用的全套方法参数的<一个href=\"http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#rawQuery(java.lang.String,%20java.lang.String[])\"相对=nofollow> rawQuery 以逃避正常的值在SQL语句中使用。
...
ArrayList的&LT;照片及GT;名单=新的ArrayList&LT;照片及GT;();
DB = dbHelper.getReadableDatabase();
光标mCursor = db.rawQuery(SELECT * FROM照中的STORE_ID =?,
新的String [] {STOREID});
mCursor.moveToFirst();
...I translated my app using android studio translation editor, i get this error when running my application on android phone using Arabic as its language:
android.database.sqlite.SQLiteException: no such column: ٤۹۸ (code 1): , while compiling: SELECT * FROM photos WHERE store_id = ٤۹۸ ORDER BY photo_id ASC
The method in app_id > java > com > db > Queries is:
public ArrayList<Photo> getPhotosByStoreId(int storeId) { ArrayList<Photo> list = new ArrayList<Photo>(); db = dbHelper.getReadableDatabase(); String sql = String.format("SELECT * FROM photos WHERE store_id = %d", storeId); Cursor mCursor = db.rawQuery(sql, null); mCursor.moveToFirst(); if (!mCursor.isAfterLast()) { do { Photo entry = formatPhoto(mCursor); list.add(entry); } while (mCursor.moveToNext()); } mCursor.close(); dbHelper.close(); return list; }
解决方案use the full set of method arguments for rawQuery to properly escape your values for use in a sql statement.
... ArrayList<Photo> list = new ArrayList<Photo>(); db = dbHelper.getReadableDatabase(); Cursor mCursor = db.rawQuery("SELECT * FROM photos WHERE store_id = ?", new String[] { storeId }); mCursor.moveToFirst(); ...
这篇关于没有这样的列:498(code 1):的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!