加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何将数据库值获取到android中的String数组(sqlite数据库)

发布时间:2020-12-12 06:01:41 所属栏目:MsSql教程 来源:网络整理
导读:我有一个数据库名称“CUED”(sqlite Android)它有一个表HELLO,其中包含一个列NAME我可以从该列获取String的值. 让我告诉你我的代码部分 myDB =hello.this.openOrCreateDatabase("CUED",MODE_PRIVATE,null); Cursor crs = myDB.rawQuery("SELECT * FROM HELLO"
我有一个数据库名称“CUED”(sqlite Android)它有一个表HELLO,其中包含一个列NAME我可以从该列获取String的值.
让我告诉你我的代码部分
myDB =hello.this.openOrCreateDatabase("CUED",MODE_PRIVATE,null); 
            Cursor crs = myDB.rawQuery("SELECT * FROM HELLO",null);


            while(crs.moveToNext())
            {
                String uname = crs.getString(crs.getColumnIndex("NAME"));
                System.out.println(uname);
 }

它将逐个打印该值.现在我需要的是我想从数据库中获取列值,以便我可以将它存储在字符串数组中.

解决方法

你已经做了很多困难……数组的东西非常简单:
String[] array = new String[crs.getCount()];
int i = 0;
while(crs.moveToNext()){
    String uname = crs.getString(crs.getColumnIndex("NAME"));
    array[i] = uname;
    i++;
}

无论如何,我总是建议在这种情况下使用集合:

List<String> array = new ArrayList<String>();
while(crs.moveToNext()){
    String uname = crs.getString(crs.getColumnIndex("NAME"));
    array.add(uname);
}

为了比较数组,你可以这样做:

boolean same = true;
for(int i = 0; i < array.length; i++){
    if(!array[i].equals(ha[i])){
        same = false;
        break;
    }
}
// same will be false if the arrays do not have the same elements

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读