Come si fa a salvare i dati in MFC?
-
20-09-2019 - |
Domanda
Mi ricordo ancora a Delfi, sviluppatore può solo fare l'interfaccia utente (casella di testo, casella di riepilogo ...) direttamente connettersi al database e quindi quando l'utente fa clic su un pulsante, basta chiamare l'azione posta, i dati verranno salvati automaticamente.
Quello che voglio sapere è che è un meccanismo simile a MFC? O posso usare GetDlgItem (...). Il testo e quindi utilizzare questo valore per salvare nel database?
o qualsiasi altro suggerimento sarà apprezzato.
Soluzione
In VC ++, è necessario utilizzare Microsoft ActiveX Data Object biblioteca (ADO libreria dei tipi).
Per memorizzare i dati si può procedere come segue:
1.Retrive data from all controls
2.Validate the data retrived
3.Use sql query to store the data to database.
È possibile utilizzare ODBC API , che è indipendente da qualsiasi sistema di gestione di database.
http://msdn.microsoft.com/ it-it / library / ms714562 (VS.85) aspx
Altri suggerimenti
Per essere onesti su Delphi questi sono i widget specializzati, non l'ordinario GDI testo ecc, ma controlli con uno strato consapevoli database aggiuntivo che sono collegati a set di dati e tabelle.
NET ha qualcosa concetti simili troppo, non so su MFC
astrazione di MFC di dati in Doc / Vista / montatura è in CDocument. Quando si salva il documento, MFC richiede all'utente il nome del file se il file non dispone di un percorso salvato, quindi costruire un CArchive sul file e fa scattare CDocument :: Serialize. È possibile memorizzare la stringa di connessione nella propria classe di documento e utilizzarlo per salvare i dati in CDocument :: Serialize.
Se si dispone di un database di file basato, è più facile da integrare. Override CDocument :: OnNewDocument per creare un nuovo database basato su file per il documento, e ignorare CDocument :: OnOpenDocument leggere dal database esistente. Se non si dispone di un database basato su file, è possibile eliminare la finestra di file con un CDocument :: sostituzione SaveModified che salva i dati e cancella il flag modificato.