PDA

Visualizza la versione completa : [C++ e Delphi] Post dopo l'edit ci un campo


Mat24
30-04-2004, 11:47
Salve ragazzi,
sto utilizzando una TADOQuery e visualizzo i sui dati attraverso una DBGrid collegata al rispettivo DataSource. La tabella è settata in modo che si possa modificare ogni singolo campo. Mi è sorta una piccola necessità, quando io vado a modificare il singolo campo il rispettivo record rimane in EditMode...mentre io vorrei che la modifica diventasse subito effettiva, ovveo per capirci che il dato venisse memorizzato sulla tabella dalla quale io faccio la query. Spero di essere stato abbastanza chiaro.. :confused: ...e spero che qualcuno di voi sappia indicarmi come come risolvere questa situazione... :tongue:

Vi ringrazio, ciao M. :ciauz:

alka
30-04-2004, 14:24
Non credo si possa editare il contenuto di una ADOQuery, siccome questa può essere il risultato dell'unione di record provenienti da più tabelle, quindi il componente non è in grado di determinare poi come ricondurre le modifiche apportate dall'utente alla tabella che le deve contenere.

Le query sono genericamente di tipo read only, a meno di non affiancare loro componenti in grado di fornire gli statement SQL per eseguire le operazioni di INSERT, UPDATE e DELETE.

Ciao! :ciauz:

Mat24
30-04-2004, 15:58
No..il problema non è questo.. :confused: ...io riesco perfettamente a modificare i record, infatti la TADOQuery non son readonly..e poi la query è su un'unica tabella e dunque il problema non si pone..
Ciò che vorrei io e che dopo che edito un campo ATTRAVERSO UNA DBGRID avvenga il post..attualmente infatti se modifico solo un campo il corrispondente record rimane in EditMode...penso ci sia un metodo apposito, ma non riesco proprio a trovare qual'è... :(
...hai qualche idea... :tongue:

alka
30-04-2004, 16:05
Chiamare il metodo Post sulla ADOQuery?
Introdurre un controllo DBNavigator e premere il pulsante di Post?

Quando modifichi un record questo rimane necessariamente in EditMode fino a quando non chiami una Post o una Cancel, implicitamente (spostandoti su un altro record, uscendo dalla griglia, ecc.) o esplicitamente tramite codice.

I hate ADO... :nonlodire

Loading