sql >> Databáze >  >> RDS >> SQLite

Kdy mám zavřít kurzor a db?

Mám zavřít kurzor po každém použití, nebo jej mohu nechat otevřený, dokud nebude pohled zničen?

Závisí Pokud se výsledek kurzoru mezitím nezmění (např. vzdálené připojení upravující DB), je to v pořádku. Nezapomeňte použít CursorLoader aby Android spravoval váš kurzor automaticky (např. zavře kurzor, pokud vaše aplikace selže).

A totéž platí pro databázi, lze ji otevřít, jakmile je vytvořena aktivita, která obsahuje tento pohled, a zavřít, když je aktivita zničena?

Ano, můžete otevřít v onResume() a zavřete v onPause() zpětná volání nebo když víte, že vaše databáze již nebude dotazována.

Když postupuji podle výše uvedeného popisu, neustále se mi zobrazuje chyba „close() nebyla explicitně volána databáze...“

To je normální, pouze pokud vaše aplikace selže. Nemělo by se to stát, pokud to děláte, jak jsem řekl výše.



  1. Jak mohu zkontrolovat typ motoru MySQL pro konkrétní tabulku?

  2. Získání chyby ORA - 00907 v následující části ON UPDATE

  3. 5 důvodů, proč je Microsoft Access skvělý pro začínající podniky

  4. řádek číslo nezobrazuje žádné řádky při použití mezi klíčovým slovem