2013-03-24 57 views
1

我在sqlite的问题。Sqlite + Android行结果中的空列

我把我预先加载的sqlite数据库放在我的应用程序上,一切正常,连接正常,数据库的存在没问题。但是,当我查询选择一些行只返回一列中的空数据。我检查过我的数据库,那行里唯一奇怪的是那个行/列中的字符。

如何查询我的数据库以返回所有结果甚至是具有奇怪字符的行?

这是我的代码,我试图获得行。

public List<Song> getAllSongs(){ 
     List<Song> result = new ArrayList<Song>(); 
     String selectQuery = "select a.Name, b.Name from Song as a, Artist as b where a.IdArtist = b._id order by a.Name"; 
     SQLiteDatabase db = this.getWritableDatabase(); 
     Cursor cursor = db.rawQuery(selectQuery, null); 
     if (cursor.moveToFirst()){ 
      do{ 
       Song song = new Song(); 
       song.setName(cursor.getString(0)); 
       song.setArtist(cursor.getString(1)); 
       result.add(song); 
      }while(cursor.moveToNext()); 
     } 

     return result; 
    } 

而且也,我奇怪的字符的含义是“'”,‘N’,...

+0

你试过什么?请给出你的java代码。 – Sajmon 2013-03-24 22:42:44

+0

更重要的是:定义“奇怪的人物”并举例说明。 – 2013-03-24 22:48:48

+0

我已更新我的代码来获取行,当我尝试cursor.getString(1)它是空的:( – shinjidev 2013-03-24 22:49:17

回答

0

您可以使用DDMS或亚行对整个数据库移动到您的计算机,并检查它有。

adb pull /data/data/com.your.package.name/databases/dbname 

然后在PC上使用类似sqlite的东西,通过命令行访问它。

http://www.sqlite.org/sqlite.html

+0

是的,我做到了,我检查了数据库,该行/列不是空的 – shinjidev 2013-03-24 22:51:06

+1

看着你定义他们的“怪异的字符”。像一个字符编码问题,我不会在这方面有任何用处 – Dave 2013-03-24 23:00:54

+0

问题是我需要显示这些字符的数据。奇怪的是,行/列返回空字符串 – shinjidev 2013-03-24 23:15:54