クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
.NET Framework 3.5
.NET Framework 3.5
SqlDataSource クラス
すべて縮小/すべて展開 すべて縮小
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2008/.NET Framework 3.5

その他のバージョンについては、以下の情報を参照してください。
.NET Framework クラス ライブラリ
SqlDataSource クラス

更新 : 2007 年 11 月

データ バインド コントロールに対して SQL データベースを表します。

名前空間 :  System.Web.UI.WebControls
アセンブリ :  System.Web (System.Web.dll 内)

Visual Basic (宣言)
<ToolboxBitmapAttribute(GetType(SqlDataSource))> _
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public Class SqlDataSource _
    Inherits DataSourceControl
Visual Basic (使用法)
Dim instance As SqlDataSource
C#
[ToolboxBitmapAttribute(typeof(SqlDataSource))]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class SqlDataSource : DataSourceControl
Visual C++
[ToolboxBitmapAttribute(typeof(SqlDataSource))]
[AspNetHostingPermissionAttribute(SecurityAction::LinkDemand, Level = AspNetHostingPermissionLevel::Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction::InheritanceDemand, Level = AspNetHostingPermissionLevel::Minimal)]
public ref class SqlDataSource : public DataSourceControl
J#
/** @attribute ToolboxBitmapAttribute(SqlDataSource) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public class SqlDataSource extends DataSourceControl
JScript
public class SqlDataSource extends DataSourceControl
ASP.NET
<asp:SqlDataSource />

SqlDataSource データ ソース コントロールは、データ バインド コントロールに対する SQL リレーショナル データベース内のデータを表します。SqlDataSource コントロールをデータ バインド コントロールと組み合わせて使用すると、リレーショナル データベースからデータを取得して、コードをほとんど、またはまったく必要とせずに、Web ページでデータの表示、編集、並べ替えを行うことができます。

データベースに接続するには、ConnectionString プロパティを有効な接続文字列に設定する必要があります。SqlDataSource は、SqlClientOleDbOdbc、または OracleClient などの ADO.NET プロバイダを使用して接続できる任意の SQL リレーショナル データベースをサポートできます。接続文字列の保護に関する詳細については、「方法 : データ ソース コントロールを使用するときに接続文字列をセキュリティ保護する」を参照してください。

基になるデータベースからデータを取得するには、SQL クエリを使用して SelectCommand プロパティを設定します。SqlDataSource が関連付けられているデータベースがストアド プロシージャをサポートしている場合は、SelectCommand プロパティをストアド プロシージャの名前に設定できます。指定する SQL クエリは、パラメータ化されたクエリでもかまいません。パラメータ化されたクエリに関連付けられた Parameter オブジェクトを、SelectParameters コレクションに追加できます。パラメータ化された SQL クエリと構文の詳細については、「データ ソース コントロールとパラメータの使用」を参照してください。

SqlDataSource コントロールは、Select メソッドが呼び出されるたびにデータを取得します。このメソッドを使用すると、SelectMethod プロパティで指定されたメソッドにプログラムによってアクセスできます。Select メソッドは、SqlDataSource にバインドされたコントロールの DataBind メソッドが呼び出されたときに、そのコントロールによって自動的に呼び出されます。データ バインド コントロールの DataSourceID プロパティを設定すると、コントロールは必要に応じてデータ ソースのデータに自動的にバインドされます。ObjectDataSource コントロールをデータ バインド コントロールにバインドする場合は、DataSourceID プロパティを設定することをお勧めします。DataSource プロパティを使用することもできますが、その場合はデータ バインド コントロールの DataBind メソッドを明示的に呼び出す必要があります。SqlDataSource を使用できるデータ バインド コントロールの例には、DataGridDetailsViewDataList、および DropDownList があります。基になるデータベースからデータを取得するために、Select メソッドをプログラムによっていつでも呼び出すことができます。

宣言やプログラムにより ASP.NET を使用するシナリオでは、データ バインド コントロールの DataSourceID プロパティを SqlDataSource の ID に設定できます。SqlDataSource クラスのインスタンスをデータ バインド コントロールの DataSource プロパティに割り当てることもできます。データ バインド コントロールをデータ ソース コントロールにバインドする方法の詳細については、「ASP.NET データ アクセスの概要」を参照してください。

基になるデータベース製品の機能と SqlDataSource クラスのインスタンスの構成に応じて、更新、挿入、および削除などのデータ操作を実行できます。これらのデータ操作を実行するには、実行する操作に対して適切なコマンド テキストと関連付けられたパラメータを設定します。たとえば、更新操作の場合は、UpdateCommand プロパティを SQL 文字列またはストアド プロシージャの名前に設定して、必要なパラメータを UpdateParameters コレクションに追加します。Update メソッドがコードから明示的に呼び出されるか、データ バインド コントロールから自動的に呼び出されると、更新が実行されます。Delete 操作および Insert 操作の場合も、同じ一般的なパターンに従います。

SelectCommandUpdateCommandInsertCommand、および 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 ではサポートされていません。

選択

SelectCommand プロパティを、データの取得に使用する SQL ステートメントに設定します。

並べ替え

DataSourceMode プロパティを DataSet に設定します。

更新

UpdateCommand プロパティを、データの更新に使用する SQL ステートメントに設定します。通常、このステートメントはパラメータ化されます。

すべてのデータ ソース コントロールと同様に、SqlDataSource コントロールはデータ ソース ビュー クラスに関連付けられています。SqlDataSource コントロールには、SqlDataSourceView が 1 つだけ関連付けられており、常に Table という名前になります。

SqlDataSource コントロールは視覚的に表示されません。このコントロールは、宣言によって作成できるようにコントロールとして実装されます。また、オプションで状態管理に関与させることもできます。したがって、SqlDataSource は、EnableTheming プロパティや SkinID プロパティに用意されているような表示機能をサポートしていません。

TopicLocation
How to: Enable Filtering for SqlDataSource Controls (Visual Studio)Building ASP .NET Web Applications in Visual Studio
チュートリアル : DataList Web サーバー コントロールを使用したデータの表示および書式指定Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : DataList Web サーバー コントロールを使用したデータの表示および書式指定Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : DetailsView Web サーバー コントロールによる Web ページのデータの編集と挿入Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : DetailsView Web サーバー コントロールによる Web ページのデータの編集と挿入Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : FormView Web サーバー コントロールによる Web ページでの書式設定したデータの表示Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : FormView Web サーバー コントロールによる Web ページでの書式設定したデータの表示Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : GridView Web サーバー コントロールでのストアド プロシージャによるデータの表示Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : GridView Web サーバー コントロールでのストアド プロシージャによるデータの表示Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : GridView Web サーバー コントロールの簡単な並べ替えVisual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : GridView Web サーバー コントロールの簡単な並べ替えVisual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : GridView Web サーバー コントロールの編集中のドロップダウン リストの表示Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : GridView Web サーバー コントロールの編集中のドロップダウン リストの表示Visual Web Developer でのアプリケーションの作成
チュートリアル : TreeView コントロールでの階層データの表示Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : TreeView コントロールでの階層データの表示Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : Visual Studio でのマスター/詳細 Web ページの作成Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Studio でのマスター/詳細 Web ページの作成Visual Web Developer でのアプリケーションの作成
チュートリアル : Web ページでの基本的なデータ アクセスVisual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Web ページでの基本的なデータ アクセスVisual Web Developer でのアプリケーションの作成
チュートリアル: FormView Web サーバー コントロールを使用した Web ページ内のデータ表示書式で表示します。dv_vwdcon
チュートリアル: GridView Web サーバー コントロールでの編集中に、ドロップダウン リストを表示します。dv_vwdcon
チュートリアル: Visual Studio でマスター/詳細の Web ページを作成します。dv_vwdcon
チュートリアル: Web ページにおける基本的なデータ アクセスdv_vwdcon
チュートリアル: ストアド プロシージャを使用して、GridView Web サーバー コントロールでデータを表示します。dv_vwdcon
チュートリアル: ツリー ビュー コントロールでの階層データの表示dv_vwdcon
チュートリアル: 単純な GridView Web サーバー コントロールの並べ替えdv_vwdcon
チュートリアル: 編集および DetailsView Web サーバー コントロールを使用した Web ページのデータを挿入します。dv_vwdcon
チュートリアル: 表示し、DataList Web サーバー コントロールによるデータの書式設定dv_vwdcon
方法 : AdRotator Web サーバー コントロールを使用してデータベースから広告を表示します。dv_vwdcon
方法 : AdRotator Web サーバー コントロールを使用してデータベースから広告を表示するASP .NET Web アプリケーションの作成
方法 : AdRotator Web サーバー コントロールを使用してデータベースから広告を表示するVisual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList Web サーバー コントロール内のアイテムの削除を許可します。dv_vwdcon
方法 : GridView Web サーバー コントロールでの編集用のコントロールをカスタマイズします。dv_vwdcon
方法 : GridView Web サーバー コントロールで編集用にコントロールをカスタマイズするVisual Studio での ASP .NET Web アプリケーションの作成
方法 : GridView Web サーバー コントロールで編集用にコントロールをカスタマイズするVisual Studio ASP .NET での Web アプリケーションの作成
方法 : SqlDataSource コントロールのフィルターを有効にdv_vwdcon
方法 : SqlDataSource コントロールのフィルタ処理を有効にするASP .NET Web アプリケーションの作成
方法 : SqlDataSource コントロールのフィルタ処理を有効にするVisual Studio ASP .NET での Web アプリケーションの作成
方法 : SqlDataSource コントロールのフィルタ処理を有効にする (Visual Studio)Visual Studio での ASP .NET Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して Access データベースに接続します。dv_vwdcon
方法 : SqlDataSource コントロールを使用して Access データベースに接続するASP .NET Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して Access データベースに接続する (Visual Studio)Visual Studio での ASP .NET Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して Access データベースに接続する (Visual Studio)Visual Studio ASP .NET での Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して ODBC データベースに接続するASP .NET Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して ODBC データベースに接続するdv_vwdcon
方法 : SqlDataSource コントロールを使用して ODBC データベースに接続する (Visual Studio)Visual Studio での ASP .NET Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して ODBC データベースに接続する (Visual Studio)Visual Studio ASP .NET での Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して Oracle データベースに接続するASP .NET Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して Oracle データベースに接続する (Visual Studio)Visual Studio での ASP .NET Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して Oracle データベースに接続する (Visual Studio)Visual Studio ASP .NET での Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して Oracle データベースへの接続します。dv_vwdcon
方法 : SqlDataSource コントロールを使用して SQL Server データベースに接続するASP .NET Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して SQL Server データベースに接続する (Visual Studio)Visual Studio での ASP .NET Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して SQL Server データベースに接続する (Visual Studio)Visual Studio ASP .NET での Web アプリケーションの作成
方法 : SqlDataSource コントロールを使用して SQL Server データベースへの接続します。dv_vwdcon
方法 : Visual Studio でテンプレート コントロールにデータをバインドするVisual Studio での ASP .NET Web アプリケーションの作成
方法 : Visual Studio でテンプレート コントロールにデータをバインドするVisual Studio ASP .NET での Web アプリケーションの作成
方法 : Visual Studio のテンプレート コントロール内のデータにバインドします。dv_vwdcon
方法 : Web フォーム ページに Repeater Web サーバー コントロールを追加します。dv_vwdcon
方法 : Web フォーム ページに Repeater Web サーバー コントロールを追加するVisual Studio ASP .NET での Web アプリケーションの作成
方法 : Web フォーム ページに Repeater Web サーバー コントロールを追加する (Visual Studio)Visual Studio での ASP .NET Web アプリケーションの作成
方法 : データ ソース コントロールを使用するときに接続文字列をセキュリティ保護するASP .NET Web アプリケーションの作成
方法 : データ ソース コントロールを使用するときに接続文字列をセキュリティ保護するVisual Studio ASP .NET での Web アプリケーションの作成
方法 : データ ソース コントロールを使用するときに接続文字列をセキュリティ保護する (Visual Studio)Visual Studio での ASP .NET Web アプリケーションの作成
方法 : テンプレート コントロールにデータを連結するASP .NET Web アプリケーションの作成
方法 : テンプレート コントロールにデータを連結するVisual Studio ASP .NET での Web アプリケーションの作成
方法 : テンプレート コントロール内のデータにバインドします。dv_vwdcon
方法 : マップされた Windows ドメイン ユーザーを使用して SQL Server にアクセスするASP .NET Web アプリケーションの作成
方法 : マップされた Windows ドメイン ユーザーを使用して SQL Server にアクセスするVisual Studio ASP .NET での Web アプリケーションの作成
方法 : マップされた Windows ドメイン ユーザーを使用してアクセス SQL Serverdv_vwdcon
方法 : ユーザーが DataList Web サーバー コントロール内の項目を削除できるようにするASP .NET Web アプリケーションの作成
方法 : ユーザーが DataList Web サーバー コントロール内の項目を削除できるようにするVisual Studio ASP .NET での Web アプリケーションの作成
方法 : ローカル ユーザーとして SQL Server にアクセスするASP .NET Web アプリケーションの作成
方法 : ローカル ユーザーとして SQL Server にアクセスするVisual Studio ASP .NET での Web アプリケーションの作成
方法 : ローカル ユーザーとして SQL Server をアクセスdv_vwdcon
方法:データ ソース コントロールを使用したときの接続文字列をセキュリティ保護します。dv_vwdcon

このセクションには、4 つのコード例が含まれています。

  • 宣言構文を使用して GridView コントロールに SQL Server のデータを表示する方法を最初のコード例に示します。

  • 宣言構文を使用して ODBC に準拠したデータベースのデータを GridView コントロールに表示する方法を 2 番目のコード例に示します。

  • GridView コントロールに対してデータを表示および更新する方法を 3 番目のコード例に示します。

  • DropDownList コントロールに対してデータを表示および更新する方法を 4 番目のコード例に示します。

SqlDataSource コントロールを宣言によって使用して、SQL Server からデータを取得して GridView コントロールに表示する方法を次のコード例に示します。

Visual Basic
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html  >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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>
C#
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html  >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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>
J#
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html  >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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) です。

Visual Basic
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html  >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<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 id="form1" 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>
C#
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  >

  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<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 id="form1" 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>
J#
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  >

  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<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 id="form1" 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 メソッドを呼び出します。

Visual Basic
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html  >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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>
C#
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html  >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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>
J#
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html  >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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 操作を実行するイベント ハンドラを追加できます。

セキュリティに関するメモ :

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。詳細については、「スクリプトによる攻略の概要」を参照してください。

Visual Basic
<%@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  >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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>

      <br />
      <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
        AssociatedControlID="TextBox1" />
      <asp:TextBox id="TextBox1" runat="server" />
      <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />

      <br /><asp:Label id="Label2" runat="server" Text="" />
    </form>
  </body>
</html>
C#
<%@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  >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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>

      <br />
      <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
        AssociatedControlID="TextBox1" />
      <asp:TextBox id="TextBox1" runat="server" />
      <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />

      <br /><asp:Label id="Label2" runat="server" Text="" />

    </form>
  </body>
</html>
J#
<%@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  >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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>

      <br />
      <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
        AssociatedControlID="TextBox1" />
      <asp:TextBox id="TextBox1" runat="server" />
      <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />

      <br /><asp:Label id="Label2" runat="server" Text="" />

    </form>
  </body>
</html>
System..::.Object
  System.Web.UI..::.Control
    System.Web.UI..::.DataSourceControl
      System.Web.UI.WebControls..::.SqlDataSource
        System.Web.UI.WebControls..::.AccessDataSource
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

.NET Framework

サポート対象 : 3.5、3.0、2.0
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker