判空的是传递的参数,刚从J2ME转Android,请帮忙看看应该怎么写。
需要判断的主要是lat 和lon 的范围,这样使用Bewteen...and对不对啊,完全搞不懂唉!
StringBuffer sql = new StringBuffer("SELECT * FROM "
                + Database.TABLE_NAME + " WHERE lat BEWTEEN " + latMin
                + " AND " + latMax + " AND lon BEWTEEN " + lonMin + " AND "
                + lonMax);        if (shopType != null)
        {
            sql.append(" AND ");
            sql.append("shopType = " + shopType);
        }
        if (privilege_1 != null)
        {
            sql.append(" AND ");
            sql.append("privilege_1 = " + privilege_1);
        }
        if (privilege_2 != null)
        {
            sql.append(" AND ");
            sql.append("privilege_2 = " + privilege_2);
        }
        if (privilege_3 != null)
        {
            sql.append(" AND ");
            sql.append("privilege_3 = " + privilege_3);
        }
        Cursor cursor = db.rawQuery(sql.toString(), null);

解决方案 »

  1.   

    你可以在 SQLSERVER 上试下吗要不就下载个 SQLiteSpy.exe ,在里面可以执行 SQL 语句的
      

  2.   

    可以使用"x>=y AND x<=z" 代替 "x BETWEEN y AND z"你可以通过adb shell 命令 然后在/data/data 下面找到你的应用,在你应用中的database里面,执行sqlite3 查看你的数据库,并且可以输入你想要的sql进行测试。
      

  3.   


    已经改用了a < A < b  bewteen...and好像连用两个会有问题