マニュアル キャンセル

Dreamweaver での ASP コマンドによるデータベースの修正

 

 

ここでは、Dreamweaver で ASP コマンドを使用して、データベースの修正やストアードプロシージャの追加と実行を行う方法について説明します。

注意:

Dreamweaver 以降では、ユーザーインターフェイスが簡素化されています。そのため、この記事で説明されているオプションの一部が Dreamweaver 以降には存在しない場合があります。詳しくは、この記事を参照してください。

ASP コマンドオブジェクトについて

ASP コマンドオブジェクトは、データベースを処理するサーバーオブジェクトです。オブジェクトには任意の有効な SQL ステートメントを含めることができます。例えば、レコードセットを返す SQL ステートメントや、データベースにレコードを挿入、更新、削除する SQL ステートメントなどを含めることができます。コマンドオブジェクトでは、SQL ステートメントでテーブル内に列を追加または削除する場合に、データベースの構造を変えることができます。コマンドオブジェクトを使用すると、データベース内のストアードプロシージャを実行することもできます。

コマンドオブジェクトの再利用とは、アプリケーションサーバーが、コンパイルされた 1 つのオブジェクトを繰り返し利用して、コマンドを何回も実行できるという意味です。コマンドを再利用可能にするには、以下の VBScript ステートメントのように Command オブジェクトの Prepared プロパティを true に設定します。

mycommand.Prepared = true
mycommand.Prepared = true
mycommand.Prepared = true

コマンドを何度も実行する場合は、コンパイルされたオブジェクトがあると、データベースの処理を効率的に行うことができるようになります。

注意:

すべてのデータベースが、「Prepared」コマンドをサポートしているわけではありません。ご使用のデータベースでサポートされていない場合は、このプロパティを true に設定したときにエラーが返されることがあります。コマンドの準備要求が無視され、Prepared プロパティが false に設定されてしまう場合もあります。

コマンドオブジェクトは、ASP ページのスクリプトで作成されますが、Dreamweaver では、ASP コードを 1 行も記述することなくコマンドオブジェクトを作成できます。

ASP コマンドによるデータベースの修正

Dreamweaver を使用して、データベースへのレコードの挿入と、データベースのレコードの更新および削除を行う ASP コマンドオブジェクトを作成できます。コマンドオブジェクトには、データベースの処理を行う SQL ステートメントまたはストアードプロシージャを渡します。

  1. Dreamweaver で、コマンドを実行する ASP ページを開きます。
  2. サーバービヘイビアーパネル(ウィンドウ/サーバービヘイビアー)を開いて「+」ボタンをクリックし、「コマンド」を選択します。
  3. コマンドの名前を入力し、編集するレコードを含むデータベースへの接続を選択してから、コマンドで実行する編集処理、つまり「挿入」、「更新」、または「削除」を選択します。

    選択した処理に基づいて、Dreamweaver により SQL ステートメントが開始されます。例えば、「挿入」を選択した場合のダイアログボックスは次の例のようになります。

    ASP コマンドの入力
    ASP コマンドの入力

  4. SQL ステートメントを作成します。

    データベースを修正する SQL ステートメントを作成する方法について詳しくは、Transact‑SQL のマニュアルを参照してください。

  5. 「変数」領域を使用して SQL 変数を定義します。名前とランタイム値を指定します。各変数の型とサイズを指定してインジェクションアタックを防ぎます。

    次の例は、SQL 変数を 3 つ含む Insert ステートメントを示しています。これらの変数の値は、「変数」領域の「ランタイム値」列で定義されたとおり、ページに渡される URL パラメーターで提供されます。

    SQL 変数を 3 つ含む Insert ステートメント
    SQL 変数を 3 つ含む Insert ステートメント

    サイズ値を取得するには、Dreamweaver でデータベースパネルを使用します。データベースパネルでデータベースを見つけて展開します。次に、操作するテーブルを見つけて展開します。テーブルにはフィールドのサイズが一覧表示されます。例えば、ADDRESS(WChar 50)というように表示されます。この例では、50 がサイズです。データベースアプリケーションでサイズを見つけることもできます。

    注意:

    数値、ブール値、日付/時刻データ型はサイズとして常に -1 を使用します。

    型の値を確認するには、次の表を参照してください。

    データベースにおける型

    Dreamweaver における型

    サイズ

    数値(MS Access、MS SQL Server、MySQL)

    Double

    -1

    ブール値、Yes/No(MS Access、MS SQL Server、MySQL)

    Double

    -1

    日付/時刻(MS Access、MS SQL Server、MySQL)

    DBTimeStamp

    -1

    MySQL テキストデータ型の char、varchar、longtext など、テキストフィールドのその他のすべての型

    LongVarChar

    データベーステーブルをチェック

    テキスト(MS Access)または nvarchar、nchar(MS SQL Server)

    VarWChar

    データベーステーブルをチェック

    Memo(MS Access)、ntext(MS SQL Server)、または大容量のテキストをサポートするフィールド

    LongVarWChar

    1073741823

    SQL 変数の型およびサイズについて詳しくは、www.adobe.com/go/4e6b330a を参照してください。

  6. ダイアログボックスを閉じます。

    Dreamweaver によって ASP コードがページに自動的に挿入されます。サーバー上でこのコードを実行すると、データベースレコードを挿入、更新、または削除するコマンドが作成されます。

    コマンドオブジェクトの Prepared プロパティは、初期設定で true に設定されます。これにより、アプリケーションサーバーは、コマンドが実行されるたびに、コンパイルされた 1 つのオブジェクトを使用するようになります。この設定を変更するには、コードビューに切り替えて、Prepared プロパティを false に変更します。

  7. ユーザーがレコードデータを入力するための HTML フォームを含むページを作成します。HTML フォームには、テキストフィールドを 3 つ(txtCity、txtAddress、および txtPhone)と「送信」ボタンを作成します。フォームでは GET メソッドを使用し、コマンドが含まれているページに、テキストフィールドの値を送信します。

ストアードプロシージャについて

サーバービヘイビアーを使用して、データベースを修正するページを作成できますが、ストアードプロシージャや、ASP コマンドオブジェクトなどのデータベース操作オブジェクトを使用してページを作成することもできます。

ストアードプロシージャは、データベースに対する処理を行う、再利用できるデータベースアイテムです。ストアードプロシージャは SQL コードを含んでいます。このコードは特に、レコードの挿入、更新、または削除を実行します。ストアードプロシージャでは、データベース自体の構造を変えることもできます。例えば、ストアードプロシージャを使用して、テーブル列の追加、またはテーブルの削除などを行うことができます。

ストアードプロシージャは、他のストアードプロシージャを呼び出すこともできますが、入力パラメーターを受け取り、複数の値を出力パラメーターという形式で、呼び出した側のプロシージャに返すこともできます。

ストアードプロシージャの再利用とは、コンパイルされた 1 つのプロシージャを繰り返し利用して、データベース処理を何回も実行できるという意味です。データベースタスクを何度も実行する、または同じタスクを別のアプリケーションで実行する予定の場合は、ストアードプロシージャを使用してそのタスクを実行すると、データベース操作の効率が向上します。

注意:

MySQL データベースおよび Microsoft Access データベースでは、ストアードプロシージャをサポートしていません。

ストアードプロシージャの追加(ColdFusion)(CS6)

データベースを修正するには、ストアードプロシージャを使用します。ストアードプロシージャは、データベースに対する処理を行う、再利用できるデータベースアイテムです。

データベースを修正するストアードプロシージャを使用する前に、何らかの方法でデータベースを修正する SQL がストアードプロシージャに記述されていることを確認してください。データベースにストアードプロシージャを作成して格納する方法について詳しくは、ご使用のデータベースのマニュアルおよび Transact-SQL のマニュアルを参照してください。

  1. Dreamweaver で、ストアードプロシージャを実行するページを開きます。
  2. バインディングパネル(ウィンドウ/バインディング)で「+」ボタンをクリックし、「ストアードプロシージャ」を選択します。
  3. データソースポップアップメニューから、ストアードプロシージャを含むデータベースへの接続を選択します。
  4. ColdFusion データソースのユーザー名とパスワードを入力します。
  5. プロシージャポップアップメニューからストアードプロシージャを選択します。

    Dreamweaver がパラメーターに値を自動的に入力します。

  6. 値を修正する必要がある場合は、目的のパラメーターを選択して「編集」をクリックします。

    ストアードプロシージャ変数の編集ダイアログボックスが表示されます。編集している変数の名前が「名前」ボックスに表示されます。

    注意:

    すべてのストアードプロシージャ入力パラメーターにテスト値を入力する必要があります。

  7. 必要に応じて変更を行います。
    • ポップアップメニューから方向を選択します。ストアードプロシージャには、入力値、出力値、または入力値と出力値の両方がある場合があります。

    • ポップアップメニューから SQL タイプを選択します。戻り変数、ランタイム値、およびテスト値を入力します。

  8. ストアードプロシージャがパラメーターを受け取る場合には、「+」ボタンをクリックして、ページパラメーターを追加します。
    注意:

    それぞれのストアードプロシージャパラメーターの戻り値に対して、対応するページパラメーターを入力する必要があります。対応する戻り値がない場合は、ページパラメーターは追加しないでください。

    必要に応じて、「+」ボタンを再度クリックして他のページパラメーターを追加します。

  9. ページパラメーターを選択し、必要に応じて「-」ボタンをクリックしてパラメーターを削除するか、または「編集」をクリックしてパラメーターに変更を加えます。
  10. ストアードプロシージャがレコードセットを返す場合には、「次のレコードセットを返す」オプションを選択してレコードセットの名前を入力し、「テスト」ボタンをクリックして、ストアードプロシージャが返すレコードセットを確認します。

    Dreamweaver がストアードプロシージャを実行し、レコードセットがある場合は表示します。

    注意:

    ストアードプロシージャがレコードセットを返し、パラメーターを受け取る場合、「変数」ボックスに「初期設定値」列内の値を入力して、ストアードプロシージャをテストする必要があります。

    注意:

    異なるテスト値を使用して、異なるレコードセットを生成できます。テスト値を変更するには、「パラメーター」の「編集」ボタンをクリックしてからテスト値を変更するか、または「ページパラメーター」の「編集」ボタンをクリックしてから初期設定の値を変更します。

  11. ストアードプロシージャがステータスコードの戻り値を返す場合には、「次のステータスコードを返す」オプションを選択し、ステータスコードの名前を入力します。「OK」をクリックします。

    ダイアログボックスを閉じると、Dreamweaver によって ColdFusion コードが自動的にページに挿入されます。このコードをサーバー上で実行すると、データベース内のストアードプロシージャが呼び出されます。続いて、ストアードプロシージャにより、レコードを挿入するなどのデータベース処理が実行されます。

    ストアードプロシージャがパラメーターを受け取る場合、ストアードプロシージャを使用して、パラメーター値を収集するページを作成し、収集したパラメーター値をそのページに送信できます。例えば、ユーザーからパラメーター値を収集するために、URL パラメーターまたは HTML フォームを使用するページを作成できます。

ストアードプロシージャの実行(ASP)(CS6)

ASP ページには、ストアードプロシージャを実行するコマンドオブジェクトを追加する必要があります。コマンドオブジェクトについて詳しくは、ASP コマンドオブジェクトについてを参照してください。

  1. Dreamweaver で、ストアードプロシージャを実行するページを開きます。
  2. バインディングパネル(ウィンドウ/バインディング)で、「+」ボタンをクリックして「コマンド(ストアードプロシージャ)」を選択します。

    コマンドダイアログボックスが表示されます。

  3. コマンドの名前を入力し、ストアードプロシージャを含むデータベースへの接続を選択してから、タイプポップアップメニューから「ストアードプロシージャ」を選択します。
  4. 「データベース項目」ボックス内の「ストアードプロシージャ」ブランチを展開して、一覧からストアードプロシージャを選択し、「プロシージャ」ボタンをクリックして、ストアードプロシージャを選択します。
  5. 変数テーブルに必須パラメーターを入力します。

    RETURN_VALUE 変数のパラメーターは入力する必要はありません。

  6. 「OK」をクリックします。

    ダイアログボックスを閉じると、ASP コードがページに挿入されます。このコードをサーバー上で実行すると、データベース内のストアードプロシージャを実行するコマンドオブジェクトが作成されます。続いて、ストアードプロシージャにより、レコードを挿入するなどのデータベース処理が実行されます。

    コマンドオブジェクトの Prepared プロパティは、初期設定で true に設定されます。これにより、ストアードプロシージャが実行されるたびに、アプリケーションサーバーは、コンパイルされた 1 つのオブジェクトを使用するようになります。コマンドを何度も実行する場合は、コンパイルされたオブジェクトがあると、データベースの処理を効率的に行うことができるようになります。しかし、1、2 回しかコマンドを実行しない場合に、コンパイルされたオブジェクトを使用すると、システムがコマンドをコンパイルするために一時停止するので、Web アプリケーションの実行速度が遅くなることがあります。この設定を変更するには、コードビューに切り替えて、Prepared プロパティを false に変更します。

    注意:

    すべてのデータベースが、「Prepared」コマンドをサポートしているわけではありません。ご使用のデータベースがサポートしていないと、ページの実行時にエラーメッセージが表示されることがあります。コードビューに切り替えて、Prepared プロパティを false に変更してください。

    ストアードプロシージャがパラメーターを受け取る場合、ストアードプロシージャを使用して、パラメーター値を収集するページを作成し、収集したパラメーター値をそのページに送信できます。例えば、ユーザーからパラメーター値を収集するために、URL パラメーターまたは HTML フォームを使用するページを作成できます。

ヘルプをすばやく簡単に入手

新規ユーザーの場合