ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

Microsoft TechEd 2010 ライトニングトーク「InfoPathとともに使うSQLServerの様々な機能」フォロー – 02

leave a comment »

InfoPathのフォーム作成でデータ接続先をSQL Serverにしたとき、データ接続ウィザードによってデータ接続を作ることができます。 
 
(slide.04 InfoPathのデータ接続ウィザード1)
 
(slide.05 InfoPathのデータ接続ウィザード2)
 
(slide.06 InfoPathのデータ接続ウィザード3)
 
(slide.07 InfoPathのデータ接続ウィザード4)
 
(slide.08 InfoPathのデータ接続ウィザード5)
 
(slide.09 InfoPathのデータ接続ウィザード6)
 
InfoPathのデータ接続ウィザードを行うと、上のスライド04から09のようにデータ接続を作成することができます。ここで「SQLの編集」ボタンをクリックすると、ウィザードによって生成した接続用のSQL文を編集することができます。「SQLの編集」によって次のスライドのようなSQL文を書きます。
 
(slide.10 InfoPathのデータ接続ウィザードで「SQLの編集」を行う)
 
「SQLの編集」では自由にSQL文を書くことができます。しかしInfoPathは、SELECT文以外を書くとエラーになってしまうので、「set nocount on」を実行し、ダミーのセレクト文を書いてから必要なSQL文を書くことにします。書いたSQL文がエラーにならないことを「SQLステートメントのテスト」ボタンをクリックして確かめるとよいでしょう。
 
(slide.11 InfoPathのデータ接続ウィザードで「SQLの編集」を行い記述したSQL文)
 
実行したいSQL文の本体はUPDATE文です。ここで使う「テスト」テーブルには、生徒の氏名や年齢などのデータが入っています。この「テスト」テーブルのデータに対して、学年が「1」年の生徒データの氏名を全部「松本吉生」に変更する、というUPDATE文になります。データ接続には以下のように記述します。
 
————————————————————
set nocount on
select ‘dummy’
update テスト set 氏名 = ‘松本吉生’ where 学年 = 1
————————————————————
 
このようにして実行したいSQL文をInfoPathの「データ接続」として作成します。ではこれをInfoPathフォームから実行するにはどうすれば良いでしょう。それはInfoPathのフォームで「ボタン」を作り、ボタンの動作に「データ接続を利用してクエリを送信する」とすればよいのです。
 
(slide.12 InfoPathのフォームでボタンを作り「クエリの送信」を動作に設定する1)
 
(slide.13 InfoPathのフォームでボタンを作り「クエリの送信」を動作に設定する2)
 
(slide.14 InfoPathのフォームでボタンを作り「クエリの送信」を動作に設定する3)
 
このようにしてボタンを作れば、ボタンをクリックすることでクエリが送信され、UPDATE文を実行することができます。

Written by Yoshio Matsumoto

2010年9月11日 @ 5:48 PM

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。