我是用这个来访问sqlite的
在些query的时候,需要有条件的查询,但是条件是字符字段
我看例子里基本都是整型的字段查询不知道字符型的条件该怎么写,需要用到withAppendedPath吗
那么在query函数里,写条件的时候,需要加上'引号吗

解决方案 »

  1.   

    // 查询方法
    public Cursor query(Uri uri, String[] projection, String selection,
    String[] selectionArgs, String sortOrder) 
    {
     SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
            switch (sUriMatcher.match(uri)) {
            // 查询所有
            case MENUS:
                qb.setTables(DBHelper.TABLES_TABLE_DISHFILE);
                qb.setProjectionMap(menuProjectionMap);
                break;
            // 根据ID查询
            case MENUS_ID:
                qb.setTables(DBHelper.TABLES_TABLE_DISHFILE);
                qb.setProjectionMap(menuProjectionMap);
                qb.appendWhere(Menus.TYPE_ID + "=" + uri.getPathSegments().get(1));
                break;
        // 根据菜品类别编码查询
            case MENUS_TYPE:
             String s=uri.getPathSegments().get(1);
                qb.setTables(DBHelper.TABLES_TABLE_DISHFILE);
                qb.setProjectionMap(menuProjectionMap);
                qb.appendWhere(Menus.DISHTYPECODE + " = " + uri.getPathSegments().get(1));
                break;
                
            default:
                throw new IllegalArgumentException("Uri错误! " + uri);
            }问题:使用MENUS_TYPE查询的时候,就查不出来,DISHTYPECODE 是一个字符类型
      

  2.   

    楼主不好意思啊,没注意这张帖子,我想楼主应该早解决了吧,可是楼主怎么会用这种方式查询sqlite呢,直接用SQLiteDatabase里面的Query方法不就好了吗,方便又明了!