SqlDataSourceView.SelectCommand プロパティ
アセンブリ: System.Web (system.web.dll 内)

Dim instance As SqlDataSourceView Dim value As String value = instance.SelectCommand instance.SelectCommand = value
/** @property */ public String get_SelectCommand () /** @property */ public void set_SelectCommand (String value)
データを取得するために SqlDataSourceView が使用する SQL 文字列。

異なるデータベース製品では異なる種類の SQL が使用されるため、SQL 文字列の構文は、現在使用されている ADO.NET プロバイダによって異なります。このプロバイダは、ProviderName プロパティによって示されます。SQL 文字列がパラメータ化されたクエリまたはコマンドである場合、パラメータのプレースホルダは、使用されている ADO.NET プロバイダに依存します。たとえば、プロバイダが SqlDataSource クラスの既定のプロバイダである System.Data.SqlClient の場合、パラメータのプレースホルダは '@parameterName' です。ただし、プロバイダが System.Data.Odbc または System.Data.OleDb に設定されている場合、パラメータのプレースホルダは '?' となります。パラメータ化された SQL クエリとコマンドの詳細については、「SqlDataSource コントロールにおけるパラメータの使用」を参照してください。
データ ソースがストアド プロシージャをサポートしている場合、SelectCommand プロパティには、SQL 文字列またはストアド プロシージャの名前を指定できます。
![]() |
---|
SelectCommand プロパティに対しては、SQL ステートメントよりもストアド プロシージャを使用した方が安全です。 |

このセクションには、2 つのコード例が含まれています。SelectCommand テキストを基本的な SQL クエリに設定して、Microsoft SQL Server データベースからデータを取得し、DropDownList コントロールに表示する方法を最初のコード例に示します。SelectCommand テキストをストアド プロシージャの名前に設定して、SQL Server データベースからデータを取得し、DropDownList に表示する方法を 2 番目のコード例に示します。
SelectCommand テキストを基本的な SQL クエリに設定して、SQL Server データベースからデータを取得し、DropDownList コントロールに表示する方法を次のコード例に示します。Button コントロールおよび TextBox コントロールは、DropDownList で選択したユーザーのアドレスを更新するための簡単なインターフェイスとして提供されています。
<%@Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <SCRIPT runat="server"> Sub On_Click(ByVal source As Object, ByVal e As EventArgs) Try SqlDataSource1.Update() Catch except As Exception ' Handle the Exception. End Try Label2.Text="The record was updated successfully!" End Sub 'On_Click </SCRIPT> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees" UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID"> <UpdateParameters> <asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/> <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/> </UpdateParameters> </asp:SqlDataSource> <asp:DropDownList id="DropDownList1" runat="server" DataTextField="LastName" DataValueField="EmployeeID" DataSourceID="SqlDataSource1"> </asp:DropDownList> <P> <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user." /> <asp:TextBox id="TextBox1" runat="server" /> <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" /> <P><asp:Label id="Label2" runat="server" Text="" /> </FORM> </BODY> </HTML>
<%@Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <SCRIPT runat="server"> private void On_Click(Object source, EventArgs e) { try { SqlDataSource1.Update(); } catch (Exception except) { // Handle the Exception. } Label2.Text="The record was updated successfully!"; } </SCRIPT> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees" UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID"> <UpdateParameters> <asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/> <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/> </UpdateParameters> </asp:SqlDataSource> <asp:DropDownList id="DropDownList1" runat="server" DataTextField="LastName" DataValueField="EmployeeID" DataSourceID="SqlDataSource1"> </asp:DropDownList> <P> <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user." /> <asp:TextBox id="TextBox1" runat="server" /> <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" /> <P><asp:Label id="Label2" runat="server" Text="" /> </FORM> </BODY> </HTML>
<%@Page Language="VJ#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <SCRIPT runat="server"> private void On_Click(Object source, System.EventArgs e) { try { SqlDataSource1.Update(); } catch (Exception except) { // Handle the Exception. } Label2.set_Text("The record was updated successfully!"); } //On_Click </SCRIPT> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees" UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID"> <UpdateParameters> <asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/> <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/> </UpdateParameters> </asp:SqlDataSource> <asp:DropDownList id="DropDownList1" runat="server" DataTextField="LastName" DataValueField="EmployeeID" DataSourceID="SqlDataSource1"> </asp:DropDownList> <P> <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user." /> <asp:TextBox id="TextBox1" runat="server" /> <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" /> <P><asp:Label id="Label2" runat="server" Text="" /> </FORM> </BODY> </HTML>
SelectCommand テキストをストアド プロシージャの名前に設定して、SQL Server データベースからデータを取得し、DropDownList コントロールに表示する方法を次のコード例に示します。データ ソースがストアド プロシージャをサポートしている場合、SelectCommand プロパティには、SQL クエリまたはストアド プロシージャの名前を指定できます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <FORM runat="server"> <asp:DropDownList id="DropDownList1" runat="server" DataTextField="LastName" DataSourceID="SqlDataSource1" /> <asp:SqlDataSource id="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommandType = "StoredProcedure" SelectCommand="sp_lastnames"> </asp:SqlDataSource> <!-- The sp_lastnames stored procedure is CREATE PROCEDURE sp_lastnames AS SELECT LastName FROM Employees GO --> </FORM> </BODY> </HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <FORM runat="server"> <asp:DropDownList id="DropDownList1" runat="server" DataTextField="LastName" DataSourceID="SqlDataSource1" /> <asp:SqlDataSource id="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommandType="StoredProcedure" SelectCommand="sp_lastnames"> </asp:SqlDataSource> <!-- The sp_lastnames stored procedure is CREATE PROCEDURE sp_lastnames AS SELECT LastName FROM Employees GO --> </FORM> </BODY> </HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <FORM runat="server"> <asp:DropDownList id="DropDownList1" runat="server" DataTextField="LastName" DataSourceID="SqlDataSource1" /> <asp:SqlDataSource id="SqlDataSource1" runat="server" ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" SelectCommand="sp_lastnames"> </asp:SqlDataSource> <!-- The sp_lastnames stored procedure is CREATE PROCEDURE sp_lastnames AS SELECT LastName FROM Employees GO --> </FORM> </BODY> </HTML>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- SqlDataSourceView.SelectCommand プロパティのページへのリンク