0

我还记得在Delphi中,开发者可以让UI(文本框,列表框...)直接连接到数据库,然后当用户点击一个按钮时,只需调用post动作,数据就会自动保存。

我想知道的是MFC中有没有类似的机制?或者我可以使用 GetDlgItem(...).Text 然后使用这个值保存到数据库?

或任何其他建议将不胜感激。

4

3 回答 3

1

在 VC++ 中,您必须使用Microsoft ActiveX 数据对象库(ADO typelib)。

要存储数据,您可以按照以下步骤操作:

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

于 2009-12-22T10:34:42.610 回答
0

MFC's abstraction of data in Doc/View/Frame is in CDocument. When you save the document, MFC prompts the user for the file name if the file does not have a saved path, then construct a CArchive on the file and triggers CDocument::Serialize. You can store the connection string in your document class and use it to save data in CDocument::Serialize.

If you have a file based database, it is easier to integrate. Override CDocument::OnNewDocument to create a new file based database for the document, and override CDocument::OnOpenDocument to read from existing database. If you don't have a file based database, you can suppress the file dialog with a CDocument::SaveModified override that saves the data and clears the modified flag.

于 2009-12-23T00:03:35.183 回答
0

公平地说,Delphi 这些是专门的小部件,不是普通的 GDI 文本框等,而是带有连接到数据集和表的附加数据库感知层的控件。

.NET也有类似的概念,不知道MFC

于 2009-12-22T09:22:40.407 回答