0

Delphiでは、開発者はUI(テキストボックス、リストボックス...)をデータベースに直接接続し、ユーザーがボタンをクリックしたときに投稿アクションを呼び出すだけで、データが自動的に保存されることを今でも覚えています。

私が知りたいのは、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. 

データベース管理システムに依存しないODBCAPIを使用できます。

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

Delphiで公平を期すために、これらは特殊なウィジェットであり、通常のGDIテキストボックスなどではありませんが、データセットとテーブルに接続された追加のデータベース対応レイヤーを備えたコントロールです。

.NETにも同様の概念があります。MFCについてはわかりません。

于 2009-12-22T09:22:40.407 に答える
0

Doc / View/FrameでのMFCのデータの抽象化はCDocumentにあります。ドキュメントを保存するとき、ファイルに保存されたパスがない場合、MFCはユーザーにファイル名の入力を求め、ファイルにCArchiveを作成し、CDocument::Serializeをトリガーします。接続文字列をドキュメントクラスに保存し、それを使用してCDocument::Serializeにデータを保存できます。

ファイルベースのデータベースがある場合は、統合が簡単です。CDocument :: OnNewDocumentをオーバーライドして、ドキュメントの新しいファイルベースのデータベースを作成し、CDocument :: OnOpenDocumentをオーバーライドして、既存のデータベースから読み取ります。ファイルベースのデータベースがない場合は、データを保存して変更されたフラグをクリアするCDocument::SaveModifiedオーバーライドを使用してファイルダイアログを抑制することができます。

于 2009-12-23T00:03:35.183 に答える