ASPページの作成
1. 新規ファイルを作成し、[survey.htm]というファイル名をつけて保存する。
2. 新規ファイルを作成し、[submit.asp]というファイル名をつけて保存する。
3. [submit.asp]ファイルをドキュメントウィンドウで開き、オブジェクトパネルの[フォーム]カテゴリで[フォームの挿入]をクリックしてフォームを挿入する。
4. 以下のようなテーブルを作成する。
記入日時
姓 名 誕生日 製品が気に入ったかどうか 製品が気に入った理由 使ったことのある他社製品1 使ったことのある他社製品2 使ったことのある他社製品3 我社で気に入った他製品 1. UltraDevelopperのドキュメントウィンドウ上で、メニューから[修正]-[接続]を選択する。2. ダイアログの[新規]ボタンをクリックすると出てくるプルダウンメニューから[データソース名(DNS)]を選択する。
3. [接続名]フィールドに[survey]と入力する。UltraDevelopperの接続先ラジオボタンで[アプリケーションサーバーのDNSを使用]を選択して[データソース名(DNS)]フィールドの右側にある[DNS]ボタンをクリックするとDNS参照リストが表示されるので、先ほど定義した[conSurvey]を選択する。
4. 接続時に認証が必要な場合は、ユーザー名とパスワード設定をし、接続時に認証が行われるようにして、[OK]ボタンをリックする。
1. [データバインディング]パネルを開き、[+]ボタンをクリックして、メニューから[リクエスト変数]を選択する。
2. 設定ダイアログが表示されたら、[タイプ]リストで[Results]を選択し、[名前フィールド]に[PostDate]という名前を入力して[OK]をクリックする。これにより、PostDateというリクエスト変数が登録される。
3. 同様にして、トップページのswfから送信されてくる残りのリクエスト変数をすべて登録する。つまり、設定ダイアログの[タイプ]リストで[Results]を選択し、[名前フィールド]に[FirstName][LastName][Birthday][LikeProduct][Why][Samples1][Samples2][Samples3][Competition]という9つのリクエスト変数を登録する。
4. ドキュメントウィンドウ内でテーブル右側のセルにカーソルを移動し、[データバインディング]パネル内で[PostDate]リクエスト変数を選択して[挿入]ボタンをクリックする。これでPostDateリクエスト変数がテーブルに挿入される。
5. 同様にして、残りのリクエスト変数をテーブル内の適切なセルに挿入する。リクエスト変数が挿入されると、セルに{Requests.PostDate}という形式のテキストが表示される。
6. リクエスト変数内のデータをそのままページ上に表示すると、データに<>等のHTMLタグが含まれている場合に、テーブルのレイアウトが崩れるおそれがある。そこで、リクエスト変数のデータ内ではタグを無効にするため、リクエスト変数の設定を変更する。[サーバービヘイビア]パネル内で[動的テキスト(Requests.PostDate)]をダブルクリックし、[動的テキスト]ダイアログを表示する。
7. [フィールド]リストで、この動的テキストに関連付けるリクエスト変数(PostDate)を選択する。その後で[フォーマット]リストから[エンコード-Server.HTMLエンコード]を選択してHTMLタグを無効にする。
8. 同様にして、ほかのリクエスト変数についてもフォーマットを設定する。
9. テーブルの一番下の行にカーソルを挿入し、オブジェクトパネルの[フォーム]カテゴリを表示して[フォーム挿入]オブジェクトをクリックしてフォームを挿入する。プロパティウィンドウ内で[フォーム名]に[Form1]、[アクション]に[<%=MM_editAction%>]を入力し、[メソッド]メニューで[POST]を選択する。
10. 同じセル内のすぐ右にカーソルを置いて、オブジェクトパネルの[フォーム]カテゴリの[ボタン挿入]オブジェクトをクリックしてボタンを挿入する。プロパティウィンドウ内で[ボタン名]に[Submit1]、[ラベル]に[書き込み]と入力して、[アクション]ラジオボタンで[フォーム送信]をクリックする。
11. フォーム内にオブジェクトパネルの[フォーム]カテゴリの[非表示フィールドを挿入]オブジェクトをクリックして10個の非表示フィールドを挿入する。左から順にプロパティウィンドウで[PostDate][FirstName][LastName][Birthday][LikeProduct][Why][Samples1][Samples2][Samples3][Competition]という名をつける。
12. 左端の非表示フィールド[PostDate]を選択し、[データバインディング]パネルからPostDateリクエスト変数を選択する。[データバインディング]パネルの[バインド先]リストからプルダウンメニューで[input.value]を選択し、[バインド]ボタンをクリックしてPostDateリクエスト変数の値を非表示フィールドの値(value)属性に割り当てる。
13. 同様にして、[FirstName][LastName][Birthday][LikeProduct][Why][Samples1][Samples2][Samples3][Competition]の非表示フィールドの値(value)属性に同名のリクエスト変数を割り当てる。
14. [submit.asp]ファイルを保存して閉じる。
1. プロパティウィンドウ内で[フォーム名]に[Form1]、[アクション]に[<%=MM_editAction%>]を入力し、[メソッド]メニューで[POST]を選択する。
2. このフォーム内に以下のようなテキストフィールドを挿入する。
入力フィールド名
種類 最大文字数 内容PostDate 日付/時刻型 YYYY/MM/DD;00:00 FirstName テキストフィールド 16姓 LastName テキストフィールド 16名 Birthday 日付/時刻型 YYYY/MM/DD;00:00 LikeProduct テキスト 50ラジオボタンの値(Y/N) Why テキスト 50顧客が製品を気に入った理由 Samples1
テキスト 50 顧客が使ったことのある他社製品チェックボックスの値(ON/Off)Samples2 テキスト 50顧客が使ったことのある他社製品チェックボックスの値(ON/Off) Samples3 テキスト 50 顧客が使ったことのある他社製品チェックボックスの値(ON/Off) Competition テキスト 50 ドロップダウンリストの値3. テキストフィールドのすぐ下のForm1内にオブジェクトパネルの[フォーム]カテゴリで[ボタンの挿入]をクリックしてボタンを挿入する。
4. ボタンを選択し、プロパティウィンドウ内で[ボタン名]に[Submit]、[ラベル]に[Submit]を入力し、[アクション]ラジオボタンで[フォーム送信]をクリックする。
5. Submitボタンのすぐ横に、オブジェクトパネルの[フォーム]カテゴリで[非表示フィールドの挿入]をクリックして非表示フィールドを挿入する。
6. 非表示フィールドを選択し、プロパティウィンドウ内で[非表示フィールド名]に[MM_insert]、[値]に[true]を入力して、保存する。
7. メニューの[ウィンドウ]-[コードインスペクタ]を選択し、コードビュー表示する。
8. <HTML>タグの前に VB Script(またはJAVA Script)でプログラムを書き込む。
9. [submit.asp]ファイルを保存して閉じる。
10 最初の行に
を記入する。
11. 変数宣言とeditAction宣言。
<!--#include file="Connections/survey.asp" -->
<%
' *** Edit Operations: declare variablesMM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Request.QueryString
End If' boolean to abort record edit
MM_abortEdit = false' query string to execute
MM_editQuery = ""
%>
12. Flashから受け取ったデータを解析して、Flashの変数名とデータベースのフィールド名を関連づける
<%
' *** Insert Record: set variablesIf (CStr(Request("MM_insert")) <> "") ThenMM_editConnection = MM_survey_STRING
MM_editTable = "Splendos_survey"
MM_editRedirectUrl = ""
MM_fieldsStr = "PostDate|value|FirstName|value|LastName|value|LikeProduct|value|Why|value|samples1|value|samples2|value|samples3|value|Competition|value"
MM_columnsStr = "PostDate|',none,''|FirstName|',none,''|LastName|',none,''|LikeProduct|',none,''|Why|',none,''|Samples1|',none,''|Samples2|',none,''|Samples3|',none,''|Competition|',none,''"' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
Next
13. データベース接続を開き、sqlステートメントを作成する。
' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End IfEnd If
%>14. データベースに新しいレコードを追加するスクリプト
<%
' *** Insert Record: construct a sql insert statement and execute itIf (CStr(Request("MM_insert")) <> "") Then' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
FormVal = MM_fields(i+1)
MM_typeArray = Split(MM_columns(i+1),",")
Delim = MM_typeArray(0)
If (Delim = "none") Then Delim = ""
AltVal = MM_typeArray(1)
If (AltVal = "none") Then AltVal = ""
EmptyVal = MM_typeArray(2)
If (EmptyVal = "none") Then EmptyVal = ""
If (FormVal = "") Then
FormVal = EmptyVal
Else
If (AltVal <> "") Then
FormVal = AltVal
ElseIf (Delim = "'") Then ' escape quotes
FormVal = "'" & Replace(FormVal,"'","''") & "'"
Else
FormVal = Delim + FormVal + Delim
End If
End If
If (i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End if
MM_tableValues = MM_tableValues & MM_columns(i)
MM_dbValues = MM_dbValues & FormVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"15. sqlステートメントを実行する。。
16. URLパラメータを使ってリダイレクトをする
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End IfEnd If
%>