AdoQueryConnection.Command プロパティ
AdoQueryConnection オブジェクトに対する SQL コマンド文字列テキストを取得または設定します。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)
構文
'宣言
Public MustOverride Property Command As String
Get
Set
'使用
Dim instance As AdoQueryConnection
Dim value As String
value = instance.Command
instance.Command = value
public abstract string Command { get; set; }
プロパティ値
型: System.String
データ接続の SQL コマンド テキスト。
解説
ADOQueryConnection オブジェクトの Command プロパティには、ActiveX Data Objects/OLEDB 外部データ ソースからデータを取得するために ADO データ接続が使用する SQL コマンド テキストが含まれます。
注意
ADOQueryConnection オブジェクトが動作するには、Microsoft SQL Server および Microsoft Access データベースが必要です。
このメンバーには、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームのみがアクセスできます。
この型またはメンバーには、Microsoft InfoPath Filler または Web ブラウザーで開かれたフォームを実行中のコードからアクセスできます。
例
次の例では、ADOQueryConnection クラスの Command プロパティと、DataConnection クラスの Execute メソッドを使用して、Employees という名前のセカンダリ データ ソースのテーブルをクエリしています。クエリは、Employees テーブルを含むやはり Employees という名前のデータベースに対する、InfoPath デザイン モードで作成されたデータ接続に対して実行されます。
最初に、my:EmpID フィールドにユーザーが入力した値を使用して、Command プロパティで SQL コマンド テキストを更新します。次に、Execute メソッドを使用して、データ接続によって取得されたデータを更新します。これにより、フォームの Employees テーブルにバインドされている [繰り返しテーブル] コントロールに表示されているレコードが更新されます。この例では、メイン データ ソースの my:EmpID フィールドが、次のコードを呼び出すための [ボタン] コントロールを含むビューの [テキスト ボックス] コントロールにバインドされている必要があります。
public void RefreshData_Clicked(object sender, ClickedEventArgs e)
{
// Get the Employees connection from the
// DataConnections collection.
AdoQueryConnection myAdoQueryConnection =
(AdoQueryConnection)(this.DataConnections["Employees"]);
// Get the employee's ID from the EmpID field in
// the main data source.
XPathNavigator myNav =
CreateNavigator().SelectSingleNode("/my:myFields/my:EmpID",
NamespaceManager);
// Assign the value from the field to a variable.
string employeeID = myNav.InnerXml;
// Change the SQL command for Employees connection to retrieve
// the record of the Employee's ID entered by the user.
myAdoQueryConnection.Command =
"select * from [Employees] where [EmployeeID] = " + employeeID;
// Execute the updated command against the data connection to
// refresh the data.
myAdoQueryConnection.Execute();
}
Public Sub RefreshData_Clicked(ByVal sender As Object, ByVal e As ClickedEventArgs)
' Get the Employees connection from the
' DataConnections collection.
Dim myAdoQueryConnection As AdoQueryConnection = _
DirectCast(Me.DataConnections("Employees"), AdoQueryConnection)
' Get the employee's ID from the EmpID field in
' the main data source.
Dim myNav As XPathNavigator = _
CreateNavigator().SelectSingleNode("/my:myFields/my:EmpID", _
NamespaceManager)
Dim employeeID As String = myNav.InnerXml
' Change the SQL command for Employees connection to retrieve
' the record of the Employee's ID entered by the user.
myAdoQueryConnection.Command = _
"select * from [Employees] where [EmployeeID] = " + employeeID
' Execute the updated command against the data connection to
' refresh the data.
myAdoQueryConnection.Execute()
End Sub