Fornire feedback degli utenti affidabili con SQLite
-
06-07-2019 - |
Domanda
Sto scrivendo un'applicazione con un frontend GUI (GTK) e un backend SQLite. Quando qualcosa viene modificato tramite la GUI, voglio che la modifica venga visualizzata nella GUI se e solo se è stata completata correttamente nel DB.
-
La visione del codice di ritorno da
sqlite3_step
perSQLITE_ERROR
è sufficiente per garantire che non fornisca un feedback falso all'utente? -
In caso contrario, ci sono altri passaggi, come callback o trigger, che fornirebbero ulteriore affidabilità?
-
Esiste un modo per rilevare TUTTE le modifiche al database, piuttosto che solo quelle dalla connessione del programma, in modo che io possa riflettere dinamicamente le modifiche al suo contenuto nella GUI?
Soluzione
Oltre alla gestione delle eccezioni ... Dovresti selezionare nuovamente i dati dal db che l'utente ha commesso facendo clic sul pulsante Salva. In questo modo sai per certo che l'utente vede i dati giusti.
Altri suggerimenti
Se capisco correttamente, stai facendo un'applicazione GUI che modifica le informazioni in un database SQLite.
- Non proprio, potresti avere
SQLITE_BUSY
se hai thread;SQLITE_INTERNAL
; eccetera. Controlla Documentazione SQLite . Invece di chiedereSQLITE_ERROR
potresti fare qualcosa del tipo:
SQLITE_OK
o SQLITE_DONE
a seconda di ciò che stai facendo.
if (ret != SQLITE_OK || ret != SQLITE_DONE)
//then this is an error.
-
Non so in che lingua stai codificando, ma ho fatto un'astrazione di SQLite in C qui . Potresti trovarlo interessante.
-
Usa sqlite3_trace ()