繁体   English   中英

从我的数据库android获取密码。

[英]Getting passcode from my database android.

我真的不知道为什么我在localobject上出错。 我试图更改为字符串,但最后感到困惑。 有什么可以帮助的专家吗?

public String getPasscode(){

    Object localObject2 = this.db;
    Object localObject1 = new String[1];
    localObject1[0] = "password";
    String[] arrayOfString = new String[1];
    arrayOfString[0] = "1";
    localObject1 = ((SQLiteDatabase)localObject2).query("register", (String[])localObject1, "r_id = ? ", arrayOfString, null, null, null);


    if (((Cursor)localObject1).getCount() == 0)
    {
       localObject2 = "";
    }

    else
    {
       ((Cursor)localObject1).moveToFirst();
       localObject2 = ((Cursor)localObject1).getString(((Cursor)localObject1).getColumnIndex("password"));
    }
    ((Cursor)localObject1).close();
    return localObject2;
}

为什么不使用字符串数组而不是对象

我的意思是使用

String[] localObject1 = new String[1];

代替

Object localObject1 = new String[1];

通过处理光标的方式创建另一个对象

Object localObject3 = ((SQLiteDatabase)localObject2).query("register", localObject1, "r_id = ? ", arrayOfString, null, null, null);

更改

Object localObject1 = new String[1];

Object[] localObject1 = new String[1];

您不是将其声明为Array 据说localObject1[0]应该是Array时才是Object 您只是没有正确地声明它。

请参阅Java阵列文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM