1

私はsqliteに問題があります。

事前にロードされた sqlite データベースをアプリケーションに配置しました。すべて正常に動作し、接続は問題ありません。データベースの存在も問題ありません。しかし、選択してクエリを実行すると、一部の行が 1 つの列だけで空のデータを返します。データベースをチェックしましたが、その行の唯一の奇妙な点は、その行/列の文字です。

データベースにクエリを実行して、奇妙な文字を含む行であってもすべての結果を返すにはどうすればよいですか?

行を取得しようとしたコードは次のとおりです。

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

また、奇妙な文字の意味は、「 ' 」、「 ñ 」、 ...

4

1 に答える 1

0

DDMS または ADB を使用して、データベース全体をコンピューターに移動し、そこで調べることができます。

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

次に、PC で sqlite のようなものを使用して、コマンド ラインでアクセスします。

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

于 2013-03-24T22:49:25.447 に答える