2013-08-12 1 views
0

Интересно, как реализовать это с помощью ContentProvider? вставить несколько строк из таблицы в другую с одной избранным даным:Вставьте несколько строк из 1-й таблицы в 2-й с ContentProvider

insert into table1 (field1, field2,...) 
    select field1, field2... from table2 where ... 

Если я должен использовать метод вставки, я не могу получить это несколько нового идентификатора ..

редактировать: Если это вставка метода что Uri Я должен вернуться?

ответ

0

Вызов execSql

@Override 
public Uri insert(Uri uri, ContentValues initialValues) { 
    switch (sUriMatcher.match(uri)){ 
    case URI_1: 
    SQLiteDatabase db = mOpenHelper.getWritableDatabase(); 
    db.execSql("insert into table1 (field1, field2,...) 
    select field1, field2... from table2 where ..."); 
    return uri; 
} 
+0

Я знаю о ExecSQL(), я не знаю, как я буду возвращать новый URI в этом методе .. – Foenix

+0

Зачем вам нужно вернуть URI? Не получил вас ... – Tarun

+0

это вам, например, нужно вернуть uri «public Uri insert ...» из недавно вставленной строки для ContentProvider для просмотра изменений в db .. – Foenix