Italian community of Lazarus and Free Pascal

Programmazione => Databases => Topic aperto da: xinyiman - Maggio 29, 2012, 04:10:26 pm

Titolo: Domanda DBGrid
Inserito da: xinyiman - Maggio 29, 2012, 04:10:26 pm
Ciao ragazzi, qualcuno di voi si è mai imbattuto in una qualche DBGrid per lazarus che permetta di aggiornare le tabelle delle query che popolano la Grid anche se nella griglia ci sono delle Join? Un po' come con access.
Titolo: Re:Domanda DBGrid
Inserito da: Stilgar - Maggio 29, 2012, 04:20:24 pm
Ciao,
 immagino tu stia usando i componenti classici di connettività.
Aggiungi un UpdateObject ... che immagino tu non abbia messo ;)
La query delega all'oggetto helper le modifiche (insert, update, delete, refresh ...)
;)
Titolo: Re:Domanda DBGrid
Inserito da: xinyiman - Maggio 29, 2012, 04:36:03 pm
Un esempietto piccino piccio?! :)
Titolo: Re:Domanda DBGrid
Inserito da: nomorelogic - Maggio 29, 2012, 04:51:33 pm
intanto ho trovato questo ;)

http://wiki.freepascal.org/Working_With_TSQLQuery#TSQLQuery.InsertSQL.2C_TSQLQuery.UpdateSQL_and_TSQLQuery.DeleteSQL:_Basic_Use_of_Parameters (http://wiki.freepascal.org/Working_With_TSQLQuery#TSQLQuery.InsertSQL.2C_TSQLQuery.UpdateSQL_and_TSQLQuery.DeleteSQL:_Basic_Use_of_Parameters)
Titolo: Re:Domanda DBGrid
Inserito da: xinyiman - Maggio 30, 2012, 08:28:12 am
Ciao,
 immagino tu stia usando i componenti classici di connettività.
Aggiungi un UpdateObject ... che immagino tu non abbia messo ;)
La query delega all'oggetto helper le modifiche (insert, update, delete, refresh ...)
;)
Scusa, ma questo con Zeos. Se volessi usare gli oggetti standard?!
Titolo: Re:Domanda DBGrid
Inserito da: nomorelogic - Maggio 30, 2012, 08:51:31 am
il link che ti ho postato sopra mostra proprio l'uso degli standard :)
Ora esempi non ne ho ma fondamentalmente si tratta di specificare dei comandi INSERT, UPDATE e DELETE parametrizzati rispettivamente nelle proprietà InsertSql, UpdateSql e DeleteSql.
Titolo: Re:Domanda DBGrid
Inserito da: xinyiman - Maggio 30, 2012, 08:57:48 am
Ho visto, ma sembra che abbia dei problemi con i campi autoincrementali da quello che c'è scritto!
Titolo: Re:Domanda DBGrid
Inserito da: Stilgar - Maggio 30, 2012, 09:29:29 am
emmm, se sono autoincrementali, evita di passare un valore.
Oppure modifica il trigger, che applichi un valore "automatico" solo se il "value" è null.
Ok, non è proprio uguale alla versione Delphi, ma hai le query di aggiornamento ;)
In genere le query con più "fonti", faccio in modo che i campi della griglia siano in sola lettura. Poi metto i campi di editing a parte (sotto magari).
In questo modo i campi di modifica possono essere slegati da un Datasource.
Con 2 bottoncini (modifica/elimina) dai il controllo sul record esistente.
Le griglie non mi sono mai piagiute molto ;) Si nota :D