ステートメント パラメータの使用
パラメータは、ODBC アプリケーションで次の操作を可能にする SQL ステートメント内の変数です。
- テーブルの列に効果的に値を提供する。
- クエリ条件を作成する際のユーザーとの対話を強化する。
- text 型、ntext 型、image 型のデータ、および SQL Server 固有の C データ型を管理する。
たとえば、Parts テーブルに、PartID、Description、および Price という列があるとします。パラメータを使用しないで部品を追加するには、次のような SQL ステートメントを構築する必要があります。
INSERT INTO Parts (PartID, Description, Price) VALUES (2100, 'Drive shaft', 50.00)
既知の値のセットを含む行を 1 行挿入する場合はこのステートメントでもかまいませんが、アプリケーションで複数の行を挿入する必要がある場合には不適切です。ODBC では、アプリケーションで SQL ステートメント内のデータ値をパラメータ マーカーに置き換えることでこの問題に対処しています。パラメータ マーカーは疑問符 (?) で表されます。次の例では、3 つのデータ値をパラメータ マーカーに置き換えています。
INSERT INTO Parts (PartID, Description, Price) VALUES (?, ?, ?)
これらのパラメータ マーカーは、その後アプリケーション変数にバインドされます。新しい行を挿入する場合は、アプリケーションでこれらの変数に値を設定し、ステートメントを実行するだけです。ドライバで、変数から現在値が取得され、データ ソースに送信されます。ステートメントを複数回実行する場合は、そのステートメントを準備することで、アプリケーションの処理をより効率的にできます。
各パラメータ マーカーは、左側のパラメータから右側のパラメータに順番に割り当てられる序数で参照されます。SQL ステートメントの左端のパラメータ マーカーの序数が 1、次のパラメータ マーカーの序数が 2 というように割り当てられます。