次の方法で共有


SQL: SQL の直接呼び出し (ODBC)

このトピックでは、次の内容について説明します。

  • SQL を直接呼び出す場合

  • SQL 関数を直接呼び出す方法

注意

この内容は、MFC ODBC クラスに該当します。MFC DAO クラスを使用している場合は、DAO ヘルプの「Comparison of Microsoft Jet Database Engine SQL and ANSI SQL」を参照してください。

SQL を直接呼び出す場合

テーブルの新規作成、削除、変更、インデックスの作成など、データ ソース (ODBC)のスキーマを変更するような SQL 関数を利用するときは、DDL (Database Definition Language) を使って、SQL ステートメントを直接データ ソースに発行します。 ウィザードを使ってレコードセットを作成すると、レコードセットに含める列をアプリケーションのデザイン時に指定できます。 ただし、この方法では、アプリケーションの作成後にテーブルに追加された列にアクセスできません。 データベース クラスでは DDL が直接サポートされていませんが、新しく追加された列をレコードセットに動的に (プログラム実行時に) 結び付ける方法があります。 このバインディングを行う方法については、「レコードセット: データ列を動的に結びつける方法 (ODBC)」を参照してください。

DBMS 自体を使ってスキーマを更新することも、DDL 関数を実行するツールを使用することもできます。 ODBC 関数を呼び出して SQL ステートメントを送ることもできます。この場合は、レコードを返さない定義済みクエリ (ストアド プロシージャ) などを呼び出すことができます。

SQL 関数を直接呼び出す方法

CDatabase クラス オブジェクトを使って SQL を直接呼び出すことができます。 SQL ステートメント文字列 (通常は CString) を作成し、この文字列を CDatabase オブジェクトのメンバー関数 CDatabase::ExecuteSQL に渡します。 ODBC 関数を呼び出して SQL ステートメントを送ると、通常レコードを返すステートメントであってもレコードは無視されます。

参照

概念

SQL