PDA

Visualizza la versione completa : SQL + Delphi


cappo
20-01-2018, 12:42
Ciao ragazzi!! Volevo chiedervi una cosa; Ho un DB costituito in questo modo:

CF|||Nome | Cognome| Anni | Modificato
123||| mario||||||| rossi |||||||26 |||||| 0
456|||filippo||||||| verdi |||||| 30||||||| 0

- A cosa serve il valore Modificato?
-Modificato è un valore che diventa 1 quando qualcosa nella stessa riga viene cambiato.
Ad esempio: Se al posto di "Mario" qualcuno scrivesse "Filippo", il valore di modificato diventerebbe 1.

In più ho un altro DB collegato al primo sopra citato. In pratica il primo DB è la "sorgente", mentre il secondo dovrà memorizzare SOLO le righe con Memorizzato = 1.

Come si potrebbe fare ? Utilizzo Delphi + SQL.

Spero di essermi spiegato, grazie!!

P.S. Scusate per la tabella un po' brutta ma sono di fretta https://www.iprogrammatori.it/forum-programmazione/images/smilies/icon_smile.gif

Spero di essermi spiegato, grazie!!

Nettuno95
20-01-2018, 15:44
Come si potrebbe fare ? Utilizzo Delphi + SQL.


Se usi Delphi e i CDS (ClientDataSet) o FireDAC lo strato SQL non ti serve, basta gestire l'evento AfterApplyUpdate testando le property "OldValue" e "NewValue" del dataset
N.

cappo
20-01-2018, 16:11
Se usi Delphi e i CDS (ClientDataSet) o FireDAC lo strato SQL non ti serve, basta gestire l'evento AfterApplyUpdate testando le property "OldValue" e "NewValue" del dataset
N.


Come dovrei fare? Scusami ma sono alle primissime armi.

Nettuno95
20-01-2018, 18:20
Come dovrei fare? Scusami ma sono alle primissime armi.

Allego un piccolo esempio buttato giù "al volo" per farti capire la logica.
Ho usato un DataSet memorytable firedac come tabella base contenente i campi "nome" ed "età", e un Dataset, di tipo clientdataset, dove salvo le modifiche (LOG) della tabella principale, in pratica ad ogni modifica della tabella base corrisponde un record sulla tabella dei log.
N.

PS: Ho usato Delphi Tokyo 10.2 update 2
PPS: Spero di non aver scritto troppe cavolate :jam::jam:

Loading