Potrzebuję przechowywać rekord przy użyciu metody rawQuery
, ponieważ chcę wstawić bieżącą datę i godzinę (datetime()
), ale muszę również wstawić ciągi zawierające cytaty.Jak używać narzędzia rawQuery do wstawiania rekordu
Więc napisałem ten kod:
String sql="INSERT INTO sms VALUES (null, ?1, ?2, ?3, datetime())";
dbw.rawQuery(sql, new String[]{str1,str2,str3});
Ale to niczego nie przechowywać ... co się dzieje?
[EDIT]
W ten sposób nie pojawiają się błędy, ale płyta nie jest włożona.
String mitt="mitt", dest="dest", text="text";
String sql="INSERT INTO sms VALUES (null, ?, ?, ?, datetime('NOW'))";
dbw.rawQuery(sql, new String[]{mitt,dest,text});
W tej chwili to jedyna metoda, która działa do wstawienia rekordu (z cytatami problemu) jest execSQL(String s)
.
Edytowałem pytanie – supergiox
Czy to możliwe, że rawQuery nie działa z INSERT? Dokumentacja nic o tym nie mówi – supergiox
Nic ... ta metoda działa (z wyjątkiem cytatów): 'String sql =" INSERT INTO sms VALUES (null, '"+ mitt +"', '+ dest + " "," "+ tekst +" ", datetime (" TERAZ "))"; dbw.execSQL (sql); ' – supergiox