【问题标题】:Connection between my class and the Sqlite database我的班级和 Sqlite 数据库之间的连接
【发布时间】:2012-04-22 22:25:20
【问题描述】:

我正在尝试在 android 上设置登录系统,使用用户名检查用户输入的内容和数据库中存在的内容

这是我的一段代码,但它总是给我“无效”,如果我使用 Try Catch 块,它会给我一个 nullpointerException

public void checklogin(String logged){
    SQLiteDatabase db = null;
    DatabaseAdapter database = new DatabaseAdapter(this);       

        try{               
    Cursor mCursor = db.query(database.TABLE_USERS,new String[]{"select * from users"}, " Name like" + "'logged+'",null,null,null,null);

     if  (mCursor.moveToFirst()){
         Toast.makeText(LoginActivity.this, "Yaaaay", Toast.LENGTH_LONG).show();
     }}
        catch(NullPointerException e){
      Toast.makeText(LoginActivity.this, "invalid", Toast.LENGTH_LONG).show();

        }
        }

【问题讨论】:

  • 你不想在使用之前将 db 分配给数据库。

标签: android string sqlite login


【解决方案1】:

好吧,您将db 设置为null...所以当您调用db.query 时,它应该正确地给您NullPointerException

【讨论】:

  • 我已经通过在课程开头定义 db 来纠正这一点。但即使我输入了一个有效的名称,它仍然给我“无效”。游标的语法有问题吗?
  • 当您设置SQLiteDatabase db = null; 时,您将db 定义为方法顶部的局部变量,这就是您获得NullPointerException 的原因。
  • 但是,您的语法也存在问题。查看我编辑的帖子。
  • 其实看看这个link就行了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-29
  • 2023-03-31
  • 1970-01-01
  • 2018-04-27
相关资源
最近更新 更多