このセクションでは、SQL Tableに
挿入されたデータを操作するためのクエリ・アクティビティの使用方法を学びます。
まず、[Execute Non Query]アクティビティを[Database Scope
]シーケンスにドラッグします。このアクティビティは、単にSQL クエリを
実行し、影響を受ける行の数をInt32
変数に保存します。
ここでは、任意の項目、つまり217の
行を削除し、その結果の値をreturn217
変数に保存することにしています。
クエリフィールド
( 実行 するクエリを
含むフィールド)の中に「DELETE from using_datatables.airbnbdata WHERE id = 217
;」を挿入してください。これにより、id
番号217を含むエントリーが削除されます。ActivityのProperty Boxの Result
プロパティにその名前を入力し、Ctrl+Kを押して
return217という
変数にその結果を保存します。行が正しく削除されると、値1を
含むInt32
変数が返されるはずです。
ここで、[クエリ実行]アクティビティを[データベース スコープ]
シーケンスにドラッグします。
SELECT * FROM using_datatables.airbnbdata;” をQuery
フィールド( 実行 するQuery を
含む)に挿入し、resultsDT
をDataTable
フィールド( 結果を 保存 する DataTable
を
含む)に挿入して
Ctrl+K
キーを押して作成します。これにより、airbnbdata SQL テーブルから
すべてのエントリーが選択され、resultsDT DataTableに
保存されます。
ここでは、任意の項目(たとえば213
)の場所名を
取得し、それを変数place_name_value
に保存します。
ここで、Execute Scalar<>アクティビティをDatabase Scope
シーケンスにドラッグします。ウィンドウが開き、ユーザーはクエリによって
返されるタイプ(この例ではString
)を選択することができます。また、「SELECT place_name FROM using_datables.airbnbdata WHERE id = 213
;」をクエリーフィールド
( 実行 するクエリー
)に挿入し、「place_name_value
」を結果
フィールド( クエリーの 結果
)に入力してください。このクエリは、ID
番号213を
含むエントリから場所名の
値を選択し、place_name_value
変数に保存します。
これでユーザーは挿入されたデータを視覚化することができます。
最初の値 –return217
– は影響を受ける行数を含む数値で、実行されるクエリは1行に影響すると予想されるので、ユーザーはIfActivity を使用してその値が1
に等しいかどうかをチェックし、目標が達成されたかどうかに応じて出力にデータを書き込むことができます。
IfアクティビティをDatabase Scope
シーケンスにドラッグします。条件
入力フィールド(VB
式を
含むフィールド)の中に、return217 = 1を
挿入します。
WriteLineアクティビティをIfアクティビティの中のThen
シーケンスにドラッグし、Text
フィールド、つまりEnter a VB Expressionを
含むフィールドに「Successfully deleted row no. 217」と
挿入します。
次に、WriteLineアクティビティをIfアクティビティ内のElse
シーケンスにドラッグし、Text
フィールド(Enter a VB Expression
プレースホルダーを含むフィールド)に「Unable to delete row no. 217」と
挿入します。これは、アクティビティが217に
等しいidを
含む行を削除できなかった場合にのみ発生します。
WriteLineアクティビティをDatabase Scope
シーケンスの末尾にドラッグします。Enter a VB Expression
プレースホルダーを含むText
フィールドに、「place_name of row no. 178: " + resultsDT.Rows(178).Item(2).ToString
」を挿入します。これにより、Execute Queryアクティビティで収集したテーブルの178番目の
行のplace_nameの
値が表示されます。
最後に、WriteLineアクティビティをもう1つ、Database Scope
シーケンスの最後にドラッグします。 行 番号 213の場所名 " + 場所名_値
“を挿入してください。これで、Execute Scalar<>アクティビティで実行されたクエリから収集された値が表示されます。