2013-05-18 8 views
5

テーブルの一部の行を削除したいinfo別のテーブルを比較するtype、 私のコードは以下の通りです。エラーや例外が発生していないのに、データを削除できません。 > SELECT文 - 私CantはrawQueryを使用して正しく削除クエリを実行します

String query = "delete from info where _id in " + 
        "(select a._id " + 
        " from info a, type b," + 
        " where a.t_id = b._id and b.type_name = 'Petrol' )"; 

try{ 
    database.rawQuery(query,null); 
}catch (Exception e){ 
    e.printStackTrace(); 
} 
+1

あなたはそれが返すものを見るためにSELECT一部を実行してみましたか? – nicopico

+0

IDを返します。 Sqliteを使用してクエリ全体を実行することを確認しましたが、正しく機能しています。私はSQLiteで削除することができます –

+0

a._id = b._idとb.type_name = 'Petrolの場合、情報a、タイプb、 "+ "から 'select a._id" + " '''? – Lucifer

答えて

11

SQLiteDatabase.rawQuery()を照会するためのものです方法を提案してください。

生のSQLでデータを変更するには、SQLiteDatabase.execSQL()を使用する必要があります。

1
database.rawQuery(query,null).moveToFirst(); 

代わりの

database.rawQuery(query,null);