Sqlite + Android连续结果空列

时间:2013-03-24 22:37:53

标签: java android sqlite encoding character-encoding

我遇到了sqlite的问题。

我把我预先加载的sqlite数据库放在我的应用程序上,一切正常,连接正常,数据库的存在是可以的。但是,当我用select查询时,一些行只返回一列中的空数据。我检查了我的数据库,该行中唯一奇怪的是该行/列中的字符。

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

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

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;
    }

而且,我对奇怪字符的意思是“'”,“ñ”,......

1 个答案:

答案 0 :(得分:0)

您可以使用DDMS或ADB将整个数据库移动到您的计算机并在那里进行检查。

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

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

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