Italian community of Lazarus and Free Pascal
Programmazione => Databases => Topic aperto da: Fabio - Aprile 13, 2012, 10:42:50 pm
-
Come mai se usando il TDBNavigator elimino un record quando applico le modiche mi esce l'errore "no delete query specified and failed to generate one"?
Anche nell'esempio su http://www.lazaruspascal.it/esempi/Sqlite.zip fa lo stesso errore.
-
Ovunque cerchi non trovo soluzioni, che voi sappiate non esiste una documentazione decente di questi controlli da qualche parte?
Poi il TDBNavigator agisce direttamente sul TSQLQuery oppure serve intercettare l'evento AfterDelete e poi passare l'istruzione di eliminazione?
Nell'evento AfterDelete poi ho a disposizione un oggetto Dataset che però non so che farmene e della documentazione non ne trovo traccia.
Ogni spunto è gradito, grazie.
-
Che io sappia agisce sul dataset e quindi il dataset deve essere modificabile! Inoltre devi poi applicare la modifica con il pulsante verde
-
Ma il tuo esempio sopra a te come si comporta? a me quando clicco il "-" va in errore come scritto sopra.
-
Anche io ho il problema. Sul tuo 3d (sul forum ufficiale) ho aggiunto il link all'esempio così hanno un riferimento dell'errore!
-
Hanno risposto sul forum ufficiale.
-
hihi, o metti il link al 3d o posti la risposta in questo di forum ;)
Non ho mica trovato, ne la domanda ne la risposta :P
-
Link al thread:
http://www.lazarus.freepascal.org/index.php/topic,16626.0.html
Risposta data:
SQlQuery1 has UpdateMode set to upWhereKeyOnly but you do a 'select Nome FROM T_Prova;' which does not contain a key. Change SQL to 'select * FROM T_Prova;' or change UpdateMode to upWhereChanged or upWhereAll.
Appena riesco provo sul mio codice e metto il risultato.
-
Confermo quanto suggerito, bastava aggiungere il campo indice alla SQL passata per non far uscire l'errore.