Android 使用“错误”;选择*FROM";
我已经搜索了stackoverflow,上面错误的大多数解决方案都是由于在组合查询时没有输入空格。我已经检查了一遍又一遍,没有发现间距有任何问题,我使用的其他命令似乎工作正常。表已成功创建,我可以插入数据(并使用id检索数据),但无法选择所有行。这是我的数据库代码:Android 使用“错误”;选择*FROM";,android,android-sqlite,Android,Android Sqlite,我已经搜索了stackoverflow,上面错误的大多数解决方案都是由于在组合查询时没有输入空格。我已经检查了一遍又一遍,没有发现间距有任何问题,我使用的其他命令似乎工作正常。表已成功创建,我可以插入数据(并使用id检索数据),但无法选择所有行。这是我的数据库代码: android.database.sqlite.SQLiteException: near "SELECT ": syntax error (code 1): , while compiling: SELECT * FRO
android.database.sqlite.SQLiteException: near "SELECT ": syntax error (code 1): , while compiling: SELECT * FROM stats
我希望我只是累了,错过了一些小东西。感谢您的帮助 试试这个:
public class StatListFragment extends ListFragment {
private Statdb db;// = new Statdb(getActivity());
[...]
private void showStats(){
db = new Statdb(getActivity().getApplicationContext());
db.getAllStats();
如果我没有弄错的话,那么可能您缺少了
代码>位于查询字符串的末尾
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_NAME;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
但是,我建议使用String.format
,这也有助于构建复杂的查询。例如:
String selectQuery = "SELECT * FROM " + TABLE_NAME + ";";
如果问题出在SELECT
和*
之间的额外空格,我会非常惊讶。您是否尝试过不使用原始查询?也许可以使用查询(TABLE_NAME,null,null,null,null,null)
?额外的空间不会导致错误。@Karakuri-我会试一试。对于其他不断提到额外空间的人,我已经删除了它,它返回相同的错误。事实上,正如我所说,它不会给你任何错误。你最好检查select语句中“TABLE_NAME”的值。你自己的输入是什么?它可能包括在内,但只是为了读取你的数据。你可以像我在这里做的那样调用它。这对我很管用……好吧,这是一些疯狂的废话@SacreDeveloper的解决方案有效,但是,如果您尝试他的解决方案并在选择后删除额外的空白,则会抛出上述错误。我甚至不知道该说什么……呵呵,这的确很疯狂,但我很高兴它对你有用:)代码>不添加任何香料。它仅用于分隔多个命令
。
String selectQuery = "SELECT * FROM " + TABLE_NAME + ";";
String selectQuery = String.format("SELECT * FROM %s;", TABLE_NAME);