sqlite3-android中sqlite内联查询

问题描述

android中sqlite内联查询
     private List<Map<String, Object>> getData(){
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
        Map<String, Object> map;

        String[] columns=new String[]{"a.name","b.name"};
        Cursor cursor = my_app.get_dbhandle().query("village a inner join town b",columns,"a.fatherRegionId=b.id",null,null,null,null);
        while(cursor.moveToNext()&&cursor != null){
            map = new HashMap<String, Object>();
            for(String skey:columns){
                if(skey.equals("village.name")){//skey要和数据库的字段一致
                    int code = cursor.getColumnIndex(skey);
                    String village_name = cursor.getString(code);
                    map.put("title", village_name);
                    continue;
                }
                if(skey.equals("town.name")){
                    int code = cursor.getColumnIndex(skey);
                    String town_name = cursor.getString(code);
                    map.put("info", town_name);
                    continue;
                }
            }
            list.add(map);
        }
        return list;
    }

问题1:query()返回的cursor为空,内联查询应该怎么写才对?
问题2:if(skey.equals("village.name"))这样写肯定不行,如何将查询结果插入两列的listview?

解决方案

问题1: 我没太看明白你写那样的意义,但是我可以给你点建议,你要执行的sql语句输出来,然后拿去sqlite中跑一下,通过了你再写在代码里,这样保证不会错
问题2: 数据的查询这个东西你sql语句对了就可以,然后查询结果插入两列,我不知道你的意思是不是两个listview?如果是,那么你两个Adapter都加载同样的数据就行了。

时间: 2024-10-26 07:16:50

sqlite3-android中sqlite内联查询的相关文章

select-SQL中的内联查询一般在什么时候会使用?

问题描述 SQL中的内联查询一般在什么时候会使用? SQL中的内联查询一般在什么时候会使用? SQL中的内联查询一般在什么时候会使用? SQL中的内联查询一般在什么时候会使用? 例如: SELECT * FROM DEPT,EMP; 解决方案 一般是在两张表拥有共同的部分时候才会用到内联查询.例如:两个相交的集合,需要取出它们的共同部分. 解决方案二: 什么时候使用静态什么时候使用关联查询

在Visual C++中使用内联汇编

一.内联汇编的优缺点 因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便.内联汇编主要用于如下场合: 1.使用汇编语言写函数: 2.对速度要求非常高的代码: 3.设备驱动程序中直接访问硬件: 4."Naked" Call的初始化和结束代码. //(."Naked",理解了意思,但是不知道怎么翻译,大概就是不需要C/C++的编译器(自作聪明)生成的函数初

android中sqlite一直报错

问题描述 android中sqlite一直报错 在应用中用到sqlite,创建了一些表,代码如下: db.execSQL("CREATE TABLE IF NOT EXISTS " + GAMES_HISTORY_TABLE+ " (" + GAME_KEY + " INTEGER PRIMARY KEY AUTOINCREMENT, " + RIGHT_DRILLS + "INTEGER NOT NULL, " + NUM_

android 中 sqlite 一般用来干什么?

问题描述 android 中 sqlite 一般用来干什么? 做过几个APP,但是很少用到sqlite ,所以想请教各位大神,我们一般在什么时候会用到sqlite呢,用来保存些什么信息,.. 解决方案 比如应用中存储一些基本的枚举信息,一些应用的参数设置等 解决方案二: 存储数据啊,就是本地数据库,支持sql语句 解决方案三: SQLite是一种数据库存储方式.没有特定的使用环境,你想用就用呗.可以考虑使用SQLite是key-value的存储方式.在一些安全性要求不高的App中,你可以用它来做

android中sqlite数据库的更新问题

问题描述 android中sqlite数据库的更新问题 当我们的apk中的数据库更新的时候,我们会在onUpgrade()中修改版本号,这样用户 升级的时候就可以更新数据库了,但是如果此时新的用户安装此应用的话,那不是还是以前的旧版本的数据库(因为第一次安装只会执行onCreate()),这不是有问题吗,如果想让新用户也用新版本的数据库,而且老用户的数据不会丢失怎么办呢??? 解决方案 继承SQLiteOpenHelper后需要在构造方法里指定当前db的版本号super(context, DAT

带条件的内联查询比左外连接查询快?

问题描述 带条件的内联查询比左外连接查询快? 带条件的内联查询比左外连接查询快? 这句话说的对不对? 解决方案 一般是对的,因为内联接再加上条件可以很快过滤

为什么 样式表 中的样式,在 开发者工具 中变为内联样式

问题描述 为什么 样式表 中的样式,在 开发者工具 中变为内联样式 如题所示.在外联样式表中写有div.slideBox{ width:1920px; height:460px; } 当在网页上通过 开发者工具 查看时(用的chrome),变为如下所示,为什么呢 元素标签是 <div id="demo1" class="slideBox"> ,里边没有任何样式 解决方案 看左边的dom结构,应该是被js赋值过了,我这里没有你说的问题 解决方案二: 什么是

Android中手机号码归属地查询实现

 这部分是昨天学习的,但是因为眼睛超负荷所以拖到现在,以后要合理规划时间. 目前手机里面的号码归属地查询主要是通过两种方式:1.联网查询,2.匹配本机归属地数据库. 我认为两种结合方式最好,在本地数据库中匹配不到的在进行联网查询,能大大增加匹配效果,并且不用过于增加本地数据库容量而增大安装包大小. 步骤:1.开启软件的时候把数据库从assets目录拷贝到files目录下,如果已存在,则不用重新拷贝. 2.实现界面. 3.实现工具类PhoneAddressUtils的getPhoneAddress

Android中SQLite数据库操作

一.基础知识: 1.SQLite的数据类型: NULL:空值. INTEGER:带符号的整型,具体取决有存入数字的范围大小. REAL:浮点数字,存储为8-byte IEEE浮点数. TEXT:字符串文本. BLOB:二进制对象. smallint 16位元的整数. interger 32位元的整数. decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点后有几位数.如果没有特别指定,则系统会设为 p=5; s=0 . floa