Dee*_*oel 1 sqlite android ormlite
我正在使用此编程博客上的程序来使用预先填充的sqlite表.我试图在表中插入任何行,但它总是给出SQLException:
Problems executing Android query: SELECT * FROM `user` WHERE `username`='Shadow'
Run Code Online (Sandbox Code Playgroud)
这是我收到此错误的方法:
public User getByUsername(String username) {
try {
QueryBuilder<User, String> qb = userDao.queryBuilder();
qb.where().eq("username", username);
PreparedQuery<User> pq = qb.prepare();
return userDao.queryForFirst(pq);
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
寻求帮助......
如果没有关于您遇到的具体错误的更多信息(请在您的问题中添加完整的例外),我们无法真正帮助您@deepak
我会说你的代码看起来很好并且合适.我喜欢定义我在查询中使用的字段,如下所示:
@DatabaseTable(tableName = "users")
public class User @{
public static final String USERNAME_FIELD_NAME = "username";
...
@DatabaseField(columnName = USERNAME_FIELD_NAME)
private String userName;
...
Run Code Online (Sandbox Code Playgroud)
然后您的代码可能类似于以下内容.这解决了查询和数据库模式不匹配的问题:
qb.where().eq(User.USERNAME_FIELD_NAME, username);
Run Code Online (Sandbox Code Playgroud)
如果您发布了例外,我会在更多帮助下编辑我的答案.
| 归档时间: |
|
| 查看次数: |
3524 次 |
| 最近记录: |