...e non sei l'unico.Originariamente inviato da Nettuno95
resta il fatto ... che non capisco cosa stai cercando di fare![]()
![]()
...e non sei l'unico.Originariamente inviato da Nettuno95
resta il fatto ... che non capisco cosa stai cercando di fare![]()
![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
allora io stampo in una DBGrid gli studenti di una certa classe, dove posso modificare i loro nomi, cancellarli e inserirne di nuovi. Ecco qullo che devo fare.Originariamente inviato da Nettuno95
Mi sono perso![]()
Nel BeforPost (prima del post quando il record è ancora in 'pending') vuoi fare un insert ??
a questo punto perchè non fai, dopo aver fatto i vari controlli, semplicemente un:
resta il fatto ... che non capisco cosa stai cercando di farecodice:dataset.fieldbyname('IdClaFk').asinteger := numId_Classe;![]()
N
Con il tuo codice che mi hai dato non vado a modificare i valori nel database, vado a mettere il numero della IDClasse nella DBGrid!
Access dispone di campi autoincrementanti, puoi usarli come chiave primaria e non devi neppure interessartene per operazioni CRUD.
Fatto questo, una tabella di Access aperta come tabella (quindi da un oggetto Table) con associati un DbNavigator e gli opportuni componenti di editing su db non necessitano di una sola riga di codice per svolgere operazioni CRUD.
Al più vorrai validare i dati prima di inserirli.
...
Questo lo avevamo capito... il problema è come faccio a mettere il dato nel database di access?
a me manca solo sapere in che evento va messo..... per il resto è semplice!
Allora dovresti avere anche capito che se un campo è autoincrementante non devi inserire tu il valore, si arrangia il db.Originariamente inviato da DvdDelphi
Questo lo avevamo capito...
Se invece il campo non è auto-incrementante allora l'ID lo devi calcolare tu e passarlo al db nell'evento BeforePost, ma così facendo ti esponi a delle race conditions mica da ridere.
...
Ma infatti a me non interessa in campo autoincrementante, perchè io ho solo bisogno del valore dell'ID della classe che mi permette poi, in caso di inserimento nuovo record, di fare il collegamento con le classi!![]()
Originariamente inviato da DvdDelphi
allora io stampo in una DBGrid gli studenti di una certa classe, dove posso modificare i loro nomi, cancellarli e inserirne di nuovi. Ecco qullo che devo fare.
Con il tuo codice che mi hai dato non vado a modificare i valori nel database, vado a mettere il numero della IDClasse nella DBGrid!![]()
![]()
![]()
![]()
cosa vuol dire ???
se usi Jet.OLEDB come provider della connection qualsiasi componente usi che sia TADOTable o TADOQuery dopo un post i dati vengo scaricati nel DB di access, con D7 i componenti ADO avevano dei problemi con alcuni metodi (tipo recno e recordcount) ed erano allergici ai campi autoinc di access, ma se usi un delphi più "moderno" non dovresti avere di questi problemi....
si adesso i campi vengono salvati, ma in modo errato
Suspence![]()
(ma non potevi dire cosa c'è di sbagliato subito senza fartelo chiedere ?)
No MP tecnici (non rispondo nemmeno!), usa il forum.