我做一个Andriod的项目,用到数据库。
其中一步是,给一个手机号码号码,然后在一个10万条的数据库中查询器归属地。
可是为什么总是不成功呢。同样的代码,我自己建了一个只有10行数据的手机归属地数据库就可以运行。
一用那个十万行的数据库怎么就查询不成功呢??
求各位大虾指教,不吝感激!!
部分代码如下:
- Java code
String str4=number.get(i).toString(); String str44=str4.substring(0, 7);//取手机号码的前7位 String str6= null; //查询语句,其实就是 SELECT num,area From tablename Where num=str44; Cursor cur4=m_SQLiteDatabase2.query(TABLE_NAME, new String[]{KEY_NUMBER,KEY_AREA}, KEY_NUMBER + "=" + str44 , null, null, null, null,null); if(cur4!=null){ cur4.moveToFirst(); } //取出其归属地,由于编码的问题写成这样其实就是取出查询到的一列数据 int number22=cur4.getColumnIndex(KEY_AREA); byte bytes[]=cur4.getBlob(number22); try { str6= new String (bytes,"gb2312").trim(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(str6.equals(str)){ //判断是不是和搜索的相同 AddData(str4,str3); }
------解决方案--------------------
检查LogCat,在查询的时候是否有出错提示信息?
如果同样的代码,10行查询没问题,10000行应该也是可以的,你确定,10000行里面有你要查询的数据吗?
来Android区吧