Как вы сохраняете данные в MFC?

Я до сих пор помню, что в Delphi разработчик может просто сделать пользовательский интерфейс (текстовое поле, список списка...) напрямую подключенным к базе данных, а затем, когда пользователь нажмет кнопку, просто вызвать действие публикации, тогда данные будут сохранены автоматически.

То, что я хочу знать, есть ли какой-либо подобный механизм в MFC? Или я могу использовать GetDlgItem(...).Text, а затем использовать это значение для сохранения в базе данных?

Или любые другие предложения будут оценены.

3 ответа

Решение

В VC++ необходимо использовать библиотеку объектов данных Microsoft ActiveX (библиотека типов ADO) .

Для хранения данных вы можете выполнить следующие действия:

1.Retrive data from all controls 
2.Validate the data retrived
3.Use sql query to store the data to database. 

Вы можете использовать ODBC API, который не зависит от какой-либо системы управления базами данных.

http://msdn.microsoft.com/en-us/library/ms714562(VS.85) .aspx

http://www.odbc.net/api/index.shtml

MFC абстракция данных в Doc/View/Frame находится в CDocument. Когда вы сохраняете документ, MFC запрашивает у пользователя имя файла, если у файла нет сохраненного пути, затем создает CArchive для файла и запускает CDocument:: Serialize. Вы можете сохранить строку подключения в своем классе документов и использовать ее для сохранения данных в CDocument:: Serialize.

Если у вас есть файловая база данных, ее легче интегрировать. Переопределите CDocument:: OnNewDocument, чтобы создать новую файловую базу данных для документа, и переопределите CDocument::OnOpenDocument для чтения из существующей базы данных. Если у вас нет файловой базы данных, вы можете отключить диалог файлов с помощью переопределения CDocument::SaveModified, которое сохраняет данные и очищает измененный флаг.

Чтобы быть справедливым в Delphi, это специализированные виджеты, а не обычное текстовое поле GDI и т. Д., Но элементы управления с дополнительным уровнем поддержки базы данных, который связан с набором данных и таблицами.

В.NET тоже есть что-то похожее, не знаю о MFC

Другие вопросы по тегам