SqlDataSource イベント

名前 | 説明 | |
---|---|---|
![]() | DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。 ( Control から継承されます。) |
![]() | Deleted | 削除操作が完了したときに発生します。 |
![]() | Deleting | 削除操作の前に発生します。 |
![]() | Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。 ( Control から継承されます。) |
![]() | Filtering | フィルタ操作の前に発生します。 |
![]() | Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。 ( Control から継承されます。) |
![]() | Inserted | 挿入操作が完了したときに発生します。 |
![]() | Inserting | 挿入操作の前に発生します。 |
![]() | Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。 ( Control から継承されます。) |
![]() | PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。 ( Control から継承されます。) |
![]() | Selected | データ取得操作が完了したときに発生します。 |
![]() | Selecting | データ取得操作の前に発生します。 |
![]() | Unload | サーバー コントロールがメモリからアンロードされると発生します。 ( Control から継承されます。) |
![]() | Updated | 更新操作が完了したときに発生します。 |
![]() | Updating | 更新操作の前に発生します。 |

SqlDataSource クラス
アセンブリ: System.Web (system.web.dll 内)

Public Class SqlDataSource Inherits DataSourceControl
public class SqlDataSource : DataSourceControl
public class SqlDataSource extends DataSourceControl
public class SqlDataSource extends DataSourceControl

SqlDataSource データ ソース コントロールは、データ バインド コントロールに対する SQL リレーショナル データベース内のデータを表します。SqlDataSource コントロールをデータ バインド コントロールと組み合わせて使用すると、リレーショナル データベースからデータを取得して、コードをほとんど、またはまったく必要とせずに、Web ページでデータの表示、編集、並べ替えを行うことができます。
データベースに接続するには、ConnectionString プロパティを有効な接続文字列に設定する必要があります。SqlDataSource は、SqlClient、OleDb、Odbc、または OracleClient などの ADO.NET プロバイダを使用して接続できる任意の SQL リレーショナル データベースをサポートできます。接続文字列の保護に関する詳細については、「方法 : データ ソース コントロールを使用するときに接続文字列をセキュリティ保護する」を参照してください。
基になるデータベースからデータを取得するには、SQL クエリを使用して SelectCommand プロパティを設定します。SqlDataSource が関連付けられているデータベースがストアド プロシージャをサポートしている場合は、SelectCommand プロパティをストアド プロシージャの名前に設定できます。指定する SQL クエリは、パラメータ化されたクエリでもかまいません。パラメータ化されたクエリに関連付けられた Parameter オブジェクトを、SelectParameters コレクションに追加できます。パラメータ化された SQL クエリと構文の詳細については、「データ ソース コントロールとパラメータの使用」を参照してください。
SqlDataSource コントロールは、Select メソッドが呼び出されるたびにデータを取得します。このメソッドを使用すると、SelectMethod プロパティで指定されたメソッドにプログラムによってアクセスできます。Select メソッドは、SqlDataSource にバインドされたコントロールの DataBind メソッドが呼び出されたときに、そのコントロールによって自動的に呼び出されます。データ バインド コントロールの DataSourceID プロパティを設定すると、コントロールは必要に応じてデータ ソースのデータに自動的にバインドされます。ObjectDataSource コントロールをデータ バインド コントロールにバインドする場合は、DataSourceID プロパティを設定することをお勧めします。DataSource プロパティを使用することもできますが、その場合はデータ バインド コントロールの DataBind メソッドを明示的に呼び出す必要があります。SqlDataSource を使用できるデータ バインド コントロールの例には、DataGrid、DetailsView、DataList、および DropDownList があります。基になるデータベースからデータを取得するために、Select メソッドをプログラムによっていつでも呼び出すことができます。
宣言やプログラムにより ASP.NET を使用するシナリオでは、データ バインド コントロールの DataSourceID プロパティを SqlDataSource の ID に設定できます。SqlDataSource クラスのインスタンスをデータ バインド コントロールの DataSource プロパティに割り当てることもできます。データ バインド コントロールをデータ ソース コントロールにバインドする方法の詳細については、「ASP.NET データ アクセスの概要」を参照してください。
基になるデータベース製品の機能と SqlDataSource クラスのインスタンスの構成に応じて、更新、挿入、および削除などのデータ操作を実行できます。これらのデータ操作を実行するには、実行する操作に対して適切なコマンド テキストと関連付けられたパラメータを設定します。たとえば、更新操作の場合は、UpdateCommand プロパティを SQL 文字列またはストアド プロシージャの名前に設定して、必要なパラメータを UpdateParameters コレクションに追加します。Update メソッドがコードから明示的に呼び出されるか、データ バインド コントロールから自動的に呼び出されると、更新が実行されます。Delete 操作および Insert 操作の場合も、同じ一般的なパターンに従います。
SelectCommand、UpdateCommand、InsertCommand、および DeleteCommand の各プロパティで使用する SQL クエリおよびコマンドをパラメータ化できます。つまり、クエリまたはコマンドで、リテラル値の代わりにプレースホルダを使用して、そのプレースホルダをアプリケーションまたはユーザー定義変数にバインドできます。SQL クエリ内のパラメータは、セッション変数、Web フォーム ページのクエリ文字列に渡される値、その他のサーバー コントロールのプロパティ値などにバインドできます。SQL クエリ内のパラメータを SqlDataSource と共に使用する方法の詳細については、「データ ソース コントロールとパラメータの使用」、「SqlDataSource コントロールにおけるパラメータの使用」、および「SqlDataSource コントロールにおけるパラメータの使用」を参照してください。
既定では、SqlDataSource コントロールは .NET Framework SQL Server 用データ プロバイダで使用しますが、SqlDataSource は Microsoft SQL Server 固有ではありません。SqlDataSource コントロールは、マネージ ADO.NET プロバイダが用意されている任意のデータベース製品に関連付けることができます。System.Data.OleDb プロバイダで使用する場合、SqlDataSource は OLE DB に準拠した任意のデータベースで使用できます。System.Data.Odbc プロバイダで使用する場合、SqlDataSource は、IBM DB2、MySQL、PostgreSQL などの ODBC ドライバおよびデータベースで使用できます。System.Data.OracleClient プロバイダで使用する場合、SqlDataSource は Oracle 8.1.7 以降のデータベースで使用できます。使用できるプロバイダの一覧は、構成ファイル (Machine.config または Web.config ファイル) の DbProviderFactories セクションに登録されます。詳細については、「SqlDataSource コントロールによるデータの選択」を参照してください。
SqlDataSource を使用してページにデータを表示する場合、データ ソース コントロールのデータ キャッシュ機能を使用して、ページのパフォーマンスを向上できます。キャッシュを利用すると、Web サーバー上のメモリ使用量は多くなりますが、データベース サーバーに対する処理負荷を削減できます。ほとんどの場合、これは適切なトレードオフといえます。EnableCaching プロパティを true に設定し、CacheDuration プロパティをキャッシュ エントリが破棄されるまでの秒数、つまり、キャッシュにデータが格納される秒数に設定すると、SqlDataSource はデータを自動的にキャッシュします。また、CacheExpirationPolicy やオプションの SqlCacheDependency 値を指定することもできます。
SqlDataSource には、次の表に示す追加機能が用意されています。
DataSourceMode プロパティを DataSet 値に設定し、EnableCaching プロパティを true に設定します。また、キャッシュ データに対し、必要なキャッシュ動作に基づいて、CacheDuration プロパティと CacheExpirationPolicy プロパティを設定します。 | |
DeleteCommand プロパティを、データの削除に使用する SQL ステートメントに設定します。通常、このステートメントはパラメータ化されます。 | |
DataSourceMode プロパティを DataSet 値に設定します。FilterExpression プロパティを、Select メソッドの呼び出し時にデータをフィルタ処理するために使用するフィルタ式に設定します。 | |
InsertCommand プロパティを、データの挿入に使用する SQL ステートメントに設定します。通常、このステートメントはパラメータ化されます。 | |
GridView などの一部のデータ バインド コントロールでは、DataSourceMode プロパティを DataSet 値に設定した場合、ページングがサポートされますが、現在、SqlDataSource ではサポートされていません。 | |
UpdateCommand プロパティを、データの更新に使用する SQL ステートメントに設定します。通常、このステートメントはパラメータ化されます。 |
すべてのデータ ソース コントロールと同様に、SqlDataSource コントロールはデータ ソース ビュー クラスに関連付けられています。SqlDataSource コントロールには、SqlDataSourceView が 1 つだけ関連付けられており、常に Table という名前になります。
SqlDataSource コントロールは視覚的に表示されません。このコントロールは、宣言によって作成できるようにコントロールとして実装されます。また、オプションで状態管理に関与させることもできます。したがって、SqlDataSource は、EnableTheming プロパティや SkinID プロパティに用意されているような表示機能をサポートしていません。

-
宣言構文を使用して GridView コントロールに SQL Server のデータを表示する方法を最初のコード例に示します。
-
宣言構文を使用して ODBC に準拠したデータベースのデータを GridView コントロールに表示する方法を 2 番目のコード例に示します。
SqlDataSource コントロールを宣言によって使用して、SQL Server からデータを取得して GridView コントロールに表示する方法を次のコード例に示します。
<!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:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataReader" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand="SELECT FirstName, LastName, Title FROM Employees"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" DataSourceID="SqlDataSource1"> </asp:GridView> </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:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataReader" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand="SELECT FirstName, LastName, Title FROM Employees"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" DataSourceID="SqlDataSource1"> </asp:GridView> </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:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataReader" ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" SelectCommand="SELECT FirstName, LastName, Title FROM Employees"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" DataSourceID="SqlDataSource1"> </asp:GridView> </FORM> </BODY> </HTML>
SqlDataSource コントロールを宣言によって使用して、ODBC に準拠したデータベースからデータを取得して GridView コントロールに表示する方法を次のコード例に示します。ProviderName プロパティは、.NET Framework ODBC 用データ プロバイダの名前 (System.Data.Odbc) です。
<%@Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <!-- This example uses a Northwind database that is hosted by an ODBC-compliant database. To run this sample, create an ODBC DSN to any database that hosts the Northwind database, including Microsoft SQL Server or Microsoft Access, change the name of the DSN in the ConnectionString, and view the page. --> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" ProviderName="System.Data.Odbc" DataSourceMode="DataReader" ConnectionString="dsn=myodbc3dsn;" SelectCommand="SELECT FirstName, LastName, Title FROM Employees"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" DataSourceID="SqlDataSource1"> </asp:GridView> </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> <!-- This example uses a Northwind database that is hosted by an ODBC-compliant database. To run this sample, create an ODBC DSN to any database that hosts the Northwind database, including Microsoft SQL Server or Microsoft Access , change the name of the DSN in the ConnectionString, and view the page. --> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" ProviderName="System.Data.Odbc" DataSourceMode="DataReader" ConnectionString="dsn=myodbc3dsn;" SelectCommand="SELECT FirstName, LastName, Title FROM Employees"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" DataSourceID="SqlDataSource1"> </asp:GridView> </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> <!-- This example uses a Northwind database that is hosted by an ODBC-compliant database. To run this sample, create an ODBC DSN to any database that hosts the Northwind database, including Microsoft SQL Server or Microsoft Access , change the name of the DSN in the ConnectionString, and view the page. --> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" ProviderName="System.Data.Odbc" DataSourceMode="DataReader" ConnectionString="dsn=myodbc3dsn;" SelectCommand="SELECT FirstName, LastName, Title FROM Employees"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" DataSourceID="SqlDataSource1"> </asp:GridView> </FORM> </BODY> </HTML>
GridView コントロールを使用した表示および更新の一般的なシナリオを次のコード例に示します。前の例と同じように、Northwind データベースのデータは GridView コントロールに表示されます。また、UpdateCommand プロパティが指定され、AutoGenerateEditButton プロパティが true に設定されているため、コードを追加せずにレコードの編集と更新を行うことができます。GridView コントロールは、UpdateParameters コレクションへのパラメータの追加を自動的に処理し、GridView コントロールの [更新] ボタンがクリックされたときに Update メソッドを呼び出します。
<!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:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataSet" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees" UpdateCommand="Update Employees SET FirstName=@FirstName,LastName=@LastName,Title=@Title WHERE EmployeeID=@EmployeeID"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="EmployeeID" AutoGenerateEditButton="True" DataSourceID="SqlDataSource1"> <columns> <asp:BoundField HeaderText="First Name" DataField="FirstName" /> <asp:BoundField HeaderText="Last Name" DataField="LastName" /> <asp:BoundField HeaderText="Title" DataField="Title" /> </columns> </asp:GridView> </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:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataSet" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees" UpdateCommand="Update Employees SET FirstName=@FirstName,LastName=@LastName,Title=@Title WHERE EmployeeID=@EmployeeID"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="EmployeeID" AutoGenerateEditButton="True" DataSourceID="SqlDataSource1"> <columns> <asp:BoundField HeaderText="First Name" DataField="FirstName" /> <asp:BoundField HeaderText="Last Name" DataField="LastName" /> <asp:BoundField HeaderText="Title" DataField="Title" /> </columns> </asp:GridView> </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:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataSet" ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees" UpdateCommand="Update Employees SET FirstName=@FirstName,LastName=@LastName,Title=@Title WHERE EmployeeID=@EmployeeID"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="EmployeeID" AutoGenerateEditButton="True" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField HeaderText="First Name" DataField="FirstName" /> <asp:BoundField HeaderText="Last Name" DataField="LastName" /> <asp:BoundField HeaderText="Title" DataField="Title" /> </Columns> </asp:GridView> </FORM> </BODY> </HTML>
DropDownList コントロールおよび TextBox コントロールを使用した表示および更新の一般的なシナリオを次のコード例に示します。DropDownList コントロールでは、UpdateParameters コレクションへの更新パラメータの自動的な追加、および Update メソッドの呼び出しは行われないため、ユーザーが実行する必要があります。更新パラメータは宣言によって指定され、イベントが発生したときに Update 操作を実行するイベント ハンドラを追加できます。
<%@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>


System.Web.UI.Control
System.Web.UI.DataSourceControl
System.Web.UI.WebControls.SqlDataSource
System.Web.UI.WebControls.AccessDataSource


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SqlDataSource コンストラクタ ()
アセンブリ: System.Web (system.web.dll 内)


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SqlDataSource コンストラクタ (String, String)
アセンブリ: System.Web (system.web.dll 内)

Dim connectionString As String Dim selectCommand As String Dim instance As New SqlDataSource(connectionString, selectCommand)

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

SqlDataSource コンストラクタを使用して SqlDataSource コントロールを作成する方法を次のコード例に示します。この例は、Web フォーム ページ上にない SqlDataSource コントロールが使用されている点が例外的ですが、中間層オブジェクトの実装において、データベースと対話する簡単な方法としてビジネス オブジェクトが使用されています。この例では、Web.config ファイルに格納された接続文字列を使用します。
このコード例は、ObjectDataSource クラスのトピックで取り上げているコード例の一部分です。
' Returns a collection of NorthwindEmployee objects. Public Shared Function GetAllEmployees() As ICollection Dim al As New ArrayList() Dim cts As ConnectionStringSettings = ConfigurationManager.ConnectionStrings("NorthwindConnection") Dim sds As New SqlDataSource(cts.ConnectionString, "SELECT EmployeeID FROM Employees") Try Dim IDs As IEnumerable = sds.Select(DataSourceSelectArguments.Empty) ' Iterate through the Enumeration and create a ' NorthwindEmployee object for each ID. For Each row As DataRowView In IDs Dim id As String = row("EmployeeID").ToString() Dim nwe As New NorthwindEmployee(id) ' Add the NorthwindEmployee object to the collection. al.Add(nwe) Next Finally ' If anything strange happens, clean up. sds.Dispose() End Try Return al End Function 'GetAllEmployees
// Returns a collection of NorthwindEmployee objects. public static ICollection GetAllEmployees () { ArrayList al = new ArrayList(); ConnectionStringSettings cts = ConfigurationManager.ConnectionStrings["NorthwindConnection"]; SqlDataSource sds = new SqlDataSource(cts.ConnectionString, "SELECT EmployeeID FROM Employees"); try { IEnumerable IDs = sds.Select(DataSourceSelectArguments.Empty); // Iterate through the Enumeration and create a // NorthwindEmployee object for each ID. foreach (DataRowView row in IDs) { string id = row["EmployeeID"].ToString(); NorthwindEmployee nwe = new NorthwindEmployee(id); // Add the NorthwindEmployee object to the collection. al.Add(nwe); } } finally { // If anything strange happens, clean up. sds.Dispose(); } return al; }
// Returns a collection of NorthwindEmployee objects. public static ICollection GetAllEmployees() throws NorthwindDataException, SqlException { ArrayList al = new ArrayList(); ConnectionStringSettings cts = ConfigurationManager.get_ConnectionStrings().get_Item("NorthwindConnection"); SqlDataSource sds = new SqlDataSource(cts.get_ConnectionString(), "SELECT EmployeeID FROM Employees"); try { IEnumerable ids = sds.Select(DataSourceSelectArguments.get_Empty()); // Iterate through the Enumeration and create a // NorthwindEmployee object for each id. IEnumerator enumerator = ids.GetEnumerator(); while (enumerator.MoveNext()) { // The IEnumerable contains DataRowView objects. DataRowView row = (DataRowView)enumerator.get_Current(); String id = row.get_Item("EmployeeID").ToString(); NorthwindEmployee nwe = new NorthwindEmployee(id); // Add the NorthwindEmployee object to the collection. al.Add(nwe); } } finally { // If anything strange happens, clean up. sds.Dispose(); } return al; } //GetAllEmployees

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SqlDataSource コンストラクタ

名前 | 説明 |
---|---|
SqlDataSource () | SqlDataSource クラスの新しいインスタンスを初期化します。 |
SqlDataSource (String, String) | 接続文字列と SELECT コマンドを指定して、SqlDataSource クラスの新しいインスタンスを初期化します。 |
SqlDataSource (String, String, String) | 接続文字列と SELECT コマンドを指定して、SqlDataSource クラスの新しいインスタンスを初期化します。 |

SqlDataSource コンストラクタ (String, String, String)
アセンブリ: System.Web (system.web.dll 内)

Public Sub New ( _ providerName As String, _ connectionString As String, _ selectCommand As String _ )
Dim providerName As String Dim connectionString As String Dim selectCommand As String Dim instance As New SqlDataSource(providerName, connectionString, selectCommand)
public function SqlDataSource ( providerName : String, connectionString : String, selectCommand : String )

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

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SqlDataSource プロパティ



SqlDataSource メソッド



SqlDataSource メンバ
データ バインド コントロールに対して SQL データベースを表します。
SqlDataSource データ型で公開されるメンバを以下の表に示します。






名前 | 説明 | |
---|---|---|
![]() | DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。(Control から継承されます。) |
![]() | Deleted | 削除操作が完了したときに発生します。 |
![]() | Deleting | 削除操作の前に発生します。 |
![]() | Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。(Control から継承されます。) |
![]() | Filtering | フィルタ操作の前に発生します。 |
![]() | Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。(Control から継承されます。) |
![]() | Inserted | 挿入操作が完了したときに発生します。 |
![]() | Inserting | 挿入操作の前に発生します。 |
![]() | Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。(Control から継承されます。) |
![]() | PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。(Control から継承されます。) |
![]() | Selected | データ取得操作が完了したときに発生します。 |
![]() | Selecting | データ取得操作の前に発生します。 |
![]() | Unload | サーバー コントロールがメモリからアンロードされると発生します。(Control から継承されます。) |
![]() | Updated | 更新操作が完了したときに発生します。 |
![]() | Updating | 更新操作の前に発生します。 |

- SqlDataSourceのページへのリンク