Android SQLite数据库异常

标签 android sql eclipse sqlite

目前,我的 Android 中的 SQLite 数据库存在问题,当我尝试运行比较时,出现以下错误: 引起原因:android.database.sqlite.SQLiteException:靠近“@hotmail”:语法错误:,编译时:SELECT DISTINCT _id,userName,password FROM userTable WHERE [email protected]密码=shshsh

我的搜索是:

public boolean getUserNameAndPassword(String userName, String Password) 抛出 SQLException {

    Cursor mCursor =
            db.query(true, TABLE_NAME, new String[] {KEY_ROWID,USER,
                    PWD},USER + "=" + userName + "AND password=" + Password, null,
                    null, null, null, null);

    if (mCursor.getCount() > 0)
    {
        return true;
    }
    return false;}

我尝试运行它是:

  boolean signIn = dbHelper.getUserNameAndPassword(mEmail, mPassword);
        if (signIn){
            Toast.makeText(getBaseContext(),"Sign in successful",Toast.LENGTH_LONG).show();
        }else {Toast.makeText(getBaseContext(),"Sign in failed",Toast.LENGTH_LONG).show();}

提前致谢!

最佳答案

您应该使用参数化查询,而不是仅仅附加用户名和密码变量,请参阅下面的示例:

Cursor mCursor =
        db.query(true, TABLE_NAME, new String[] {KEY_ROWID,USER,
                PWD},USER + " = ? AND password = ?", new String[]{ userName, Password },
                null, null, null, null);

if (mCursor.getCount() > 0)
{
    return true;
}
return false;}

关于Android SQLite数据库异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23116949/

相关文章:

Android 如何知道图库是否在滚动?

android - SherlockFragmentActivity中ViewPager单个tab的Fragment事务

java - 如何获取内部和外部存储中的可用空间

sql - 分组不同或更改为多个子查询

java - 查询 ParseObject

mysql用逗号分隔的id连接两个表

php - 上传文件并以单一形式提交文本是否可能?

eclipse - org.hibernate.InvalidMappingException : Could not parse mapping document from resource *. hbm.xml

java - Mac OS、JDK1.7(和 1.8)不包含 JNI_CreateJavaVM 符号

eclipse - 如何让 Eclipse 退出 MDI 模式?