ObjectDataSource.SqlCacheDependency プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ObjectDataSource.SqlCacheDependency プロパティの意味・解説 

ObjectDataSource.SqlCacheDependency プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

Microsoft SQL Server キャッシュ依存関係使用するデータベーステーブルを示す、セミコロン区切られ文字列取得または設定します

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

Public Overridable Property
 SqlCacheDependency As String
Dim instance As ObjectDataSource
Dim value As String

value = instance.SqlCacheDependency

instance.SqlCacheDependency = value
public virtual string SqlCacheDependency {
 get; set; }
public:
virtual property String^ SqlCacheDependency {
    String^ get ();
    void set (String^ value);
}
/** @property */
public String get_SqlCacheDependency ()

/** @property */
public void set_SqlCacheDependency (String
 value)
public function get SqlCacheDependency
 () : String

public function set SqlCacheDependency
 (value : String)

プロパティ
SQL Server キャッシュ依存関係使用するデータベーステーブルを示す文字列。

解説解説

ObjectDataSource コントロールは、データ キャッシュの SqlCacheDependency オブジェクト基づいたオプション有効期限ポリシーサポートしています (データベース サーバーサービス構成されている必要があります)。

SQL Server は、キャッシュ無効化について、ポーリング通知2 つ機構サポートしてます。機構では、SqlCacheDependency オブジェクト異な構文使用します

ObjectDataSource は、ポーリングだけをサポートしてます。SqlCacheDependency 文字列使用してSelect メソッド実行される前に DbCommand コンストラクタ渡される SqlDependency オブジェクト作成しますSqlCacheDependency 文字列は、Page ディレクティブ使用する形式と同じ形式に従ってデータベーステーブル識別します。この形式では、文字列最初部分SQL Server データベースへの接続文字列で、その後区切り記号としてコロン使用し最後データベース テーブルの名前になります (例 : "connectionstring1:table1")。SqlCacheDependency プロパティ複数テーブル依存している場合接続文字列テーブル名のペアセミコロン区切られます (例 : "connectionstring1:table1";connectionstring2:table2")。

通知サポートするには、SelectMethod メソッド実装キャッシュ論理記述しコードSqlCacheDependency オブジェクト構築処理します

使用例使用例

このセクションには、2 つコード例含まれています。1 つ目のコード例では、SQL Server キャッシュ依存関係作成しObjectDataSource オブジェクトSqlCacheDependency プロパティ設定する方法示します2 つ目のコード例では、DataSet オブジェクト返すラッパー メソッド実装し、ObjectDataSource オブジェクトキャッシュフィルタ処理有効にする方法示します

SQL Server キャッシュ依存関係作成しObjectDataSource コントロールSqlCacheDependency プロパティ設定する方法次のコード例示します。この例では、データベース120 秒おきにポーリングされますその間Northwind Traders Employees テーブルデータ変更されると、ObjectDataSource コントロールキャッシュされ、GridView コントロール表示されすべてのデータ期限切れとなり、ページ対す次回要求時にデータ新しセット取得されます。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB"
 Assembly="Samples.AspNet.VB"
 %>
<%@ Page language="vb" %>

<!--

The page uses an example configuration that includes
connection strings and a defined SqlCacheDependecy.

<?xml version="1.0"?>
<configuration>

  <connectionStrings>
    <add name="MyNorthwind"
         connectionString="Data Source=localhost;Integrated Security=SSPI;Initial
 Catalog=Northwind"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>
    <cache>
      <sqlCacheDependency enabled="true">
        <databases>
          <add
            name="Northwind"
            connectionStringName="MyNorthwind"
            pollTime="120000" />
        </databases>
      </sqlCacheDependency>
    </cache>

  </system.web>
</configuration>
-->



<html>
  <head>
    <title>ObjectDataSource - VB Example</title>
  </head>
  <body>
    <form id="Form1" method="post"
 runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          typename="Samples.AspNet.VB.EmployeeLogic"
          selectmethod="GetAllEmployeesAsDataSet"
          enablecaching="True"
          cacheduration="300"
          cacheexpirationpolicy="Absolute"
          sqlcachedependency="Northwind:Employees"
 />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS"
 Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>

<!--
The page uses an example configuration that includes
connection strings and a defined SqlCacheDependecy.

<?xml version="1.0"?>
<configuration>

  <connectionStrings>
    <add name="MyNorthwind"
         connectionString="Data Source=localhost;Integrated Security=SSPI;Initial
 Catalog=Northwind"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>
    <cache>
      <sqlCacheDependency enabled="true">
        <databases>
          <add
            name="Northwind"
            connectionStringName="MyNorthwind"
            pollTime="120000" />
        </databases>
      </sqlCacheDependency>
    </cache>

  </system.web>
</configuration>
-->



<html>
  <head>
    <title>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          typename="Samples.AspNet.CS.EmployeeLogic"
          selectmethod="GetAllEmployeesAsDataSet"
          enablecaching="True"
          cacheduration="300"
          cacheexpirationpolicy="Absolute"
          sqlcachedependency="Northwind:Employees" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL"
 Assembly="Samples.AspNet.JSL" %>
<%@ Page language="VJ#" %>

<!--

The page uses an example configuration that includes
connection strings and a defined SqlCacheDependecy.

<?xml version="1.0"?>
<configuration>

  <connectionStrings>
    <add name = "NorthwindConnection" connectionString = "Data
 Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind" />
  </connectionStrings>

  <system.web>

    ...

    <cache>
      <sqlCacheDependency enabled="true">
        <databases>
          <add
            name="Northwind_Remote"
            connectionStringName="NorthwindConnection"
            pollTime="120000" />
        </databases>
      </sqlCacheDependency>
    </cache>

  </system.web>
</configuration>
-->



<html>
  <head>
    <title>ObjectDataSource - VJ# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          typename="Samples.AspNet.JSL.EmployeeLogic"
          selectmethod="GetAllEmployeesAsDataSet"
          enablecaching="True"
          cacheduration="300"
          cacheexpirationpolicy="Absolute"
          sqlcachedependency="Northwind_Remote:Employees" />

    </form>
  </body>
</html>

DataSet オブジェクト返すラッパー メソッド実装し、ObjectDataSource コントロールキャッシュフィルタ処理有効にする方法次のコード例示しますEmployeeLogic クラス基本実装では、GetAllEmployees メソッドは ArrayList オブジェクト返しますWeb フォーム ページObjectDataSource使用するためにオブジェクトを完全にリファクタする代わりに一連の NorthwindEmployee データDataSet として返す GetAllEmployeesAsDataSet という名前のラッパー メソッド追加されています。

Imports System
Imports System.Collections
Imports System.Configuration
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace Samples.AspNet.VB

' EmployeeLogic is a stateless business object that encapsulates
' the operations one can perform on a NorthwindEmployee object.
'
Public Class EmployeeLogic

   ' 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.
         Dim enumerator As IEnumerator = IDs.GetEnumerator()
         While enumerator.MoveNext()
            ' The IEnumerable contains DataRowView objects.
            Dim row As DataRowView = CType(enumerator.Current
,DataRowView)
            Dim id As String
 = row("EmployeeID").ToString()
            Dim nwe As New
 NorthwindEmployee(id)
            ' Add the NorthwindEmployee object to the collection.
            al.Add(nwe)
         End While
      Finally
         ' If anything strange happens, clean up.
         sds.Dispose()
      End Try

      Return al
   End Function 'GetAllEmployees

   ' To support basic filtering, the employees cannot
   ' be returned as an array of objects, rather as a
   ' DataSet of the raw data values.
   Public Shared Function
 GetAllEmployeesAsDataSet() As DataSet
      Dim employees As ICollection = GetAllEmployees()

      Dim ds As New DataSet("Table")

      ' Create the schema of the DataTable.
      Dim dt As New DataTable()
      Dim dc As DataColumn
      dc = New DataColumn("FirstName",
 GetType(String))
      dt.Columns.Add(dc)
      dc = New DataColumn("LastName",
 GetType(String))
      dt.Columns.Add(dc)
      dc = New DataColumn("Title",
 GetType(String))
      dt.Columns.Add(dc)
      dc = New DataColumn("Courtesy",
 GetType(String))
      dt.Columns.Add(dc)
      dc = New DataColumn("Supervisor",
 GetType(Int32))
      dt.Columns.Add(dc)

      ' Add rows to the DataTable.
      Dim emplEnum As IEnumerator = employees.GetEnumerator()
      Dim row As DataRow
      Dim ne As NorthwindEmployee
      While emplEnum.MoveNext()
         ne = CType(emplEnum.Current, NorthwindEmployee)
         row = dt.NewRow()
         row("FirstName") = ne.FirstName
         row("LastName") = ne.LastName
         row("Title") = ne.Title
         row("Courtesy") = ne.Courtesy
         row("Supervisor") = ne.Supervisor
         dt.Rows.Add(row)
      End While
      ' Add the complete DataTable to the DataSet.
      ds.Tables.Add(dt)

      Return ds
   End Function 'GetAllEmployeesAsDataSet

   Public Shared Function
 GetEmployee(anID As Object) As
 NorthwindEmployee
      If anID.Equals("-1") OrElse
 anID.Equals(DBNull.Value) Then
         Return New NorthwindEmployee()
      Else
         Return New NorthwindEmployee(anID)
      End If
   End Function 'GetEmployee


   Public Shared Sub UpdateEmployeeInfo(ne
 As NorthwindEmployee)
      Dim retval As Boolean
 = ne.Save()
      If Not retval Then
         Throw New NorthwindDataException("UpdateEmployee
 failed.")
      End If
   End Sub 'UpdateEmployeeInfo

   Public Shared Sub DeleteEmployee(ne
 As NorthwindEmployee)
      Dim retval As Boolean
 = ne.Delete()
      If Not retval Then
         Throw New NorthwindDataException("DeleteEmployee
 failed.")
      End If
   End Sub 'DeleteEmployee
End Class 'EmployeeLogic


Public Class NorthwindEmployee


   Public Sub New()
      ID = DBNull.Value
      aLastName = ""
      aFirstName = ""
      aTitle = ""
      titleOfCourtesy = ""
      reportsTo = - 1
   End Sub 'New


   Public Sub New(anID As
 Object)
      Me.ID = anID

      Dim cts As ConnectionStringSettings =
 ConfigurationManager.ConnectionStrings("NorthwindConnection")

      Dim conn As New SqlConnection(cts.ConnectionString)

      Dim sc As New SqlCommand("
 SELECT FirstName,LastName,Title,TitleOfCourtesy,ReportsTo " & _
                               " FROM Employees "
 & _
                               " WHERE EmployeeID = @empId",
 conn)
      ' Add the employee ID parameter and set its value.
      sc.Parameters.Add(New SqlParameter("@empId",
 SqlDbType.Int)).Value = Int32.Parse(anID.ToString())
      Dim sdr As SqlDataReader = Nothing

      Try
         conn.Open()
         sdr = sc.ExecuteReader()

         ' Only loop once.
         If Not (sdr Is
 Nothing) AndAlso sdr.Read() Then
            ' The IEnumerable contains DataRowView objects.
            Me.aFirstName = sdr("FirstName").ToString()
            Me.aLastName = sdr("LastName").ToString()
            Me.aTitle = sdr("Title").ToString()
            Me.titleOfCourtesy = sdr("TitleOfCourtesy").ToString()
            If Not sdr.IsDBNull(4) Then
               Me.reportsTo = sdr.GetInt32(4)
            End If
         Else
            Throw New NorthwindDataException("Data
 not loaded for employee id.")
         End If
      Finally
         Try
            If Not (sdr Is
 Nothing) Then
               sdr.Close()
            End If
            conn.Close()
         Catch se As SqlException
            ' Log an event in the Application Event Log.
            Throw
         End Try
      End Try
   End Sub 'New

   Private ID As Object
   Public ReadOnly Property
 EmpID() As String
      Get
         Return ID.ToString()
      End Get
   End Property

   Private aLastName As String
   Public Property LastName() As
 String
      Get
         Return aLastName
      End Get
      Set
         aLastName = value
      End Set
   End Property

   Private aFirstName As String
   Public Property FirstName() As
 String
      Get
         Return aFirstName
      End Get
      Set
         aFirstName = value
      End Set
   End Property

   Public ReadOnly Property
 FullName() As String
      Get
         Return FirstName & " "
 & LastName
      End Get
   End Property

   Private aTitle As String
   Public Property Title() As
 String
      Get
         Return aTitle
      End Get
      Set
         aTitle = value
      End Set
   End Property

   Private titleOfCourtesy As String
   Public Property Courtesy() As
 String
      Get
         Return titleOfCourtesy
      End Get
      Set
         titleOfCourtesy = value
      End Set
   End Property

   Private reportsTo As Integer
   Public Property Supervisor() As
 Integer
      Get
         Return reportsTo
      End Get
      Set
         reportsTo = value
      End Set
   End Property

   Public Function Save() As
 Boolean

      ' Implement persistence logic.
      Return True

   End Function 'Save


   Public Function Delete() As
 Boolean

      ' Implement delete logic.
      Return True

   End Function 'Delete
End Class 'NorthwindEmployee


Friend Class NorthwindDataException
   Inherits Exception

   Public Sub New(msg As
 String)
      MyBase.New(msg)
   End Sub 'New
End Class 'NorthwindDataException
End Namespace
namespace Samples.AspNet.CS {

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
  //
  // EmployeeLogic is a stateless business object that encapsulates
  // the operations one can perform on a NorthwindEmployee object.
  //
  public class EmployeeLogic {

    // 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.
        IEnumerator enumerator = IDs.GetEnumerator();
        while (enumerator.MoveNext()) {
          // The IEnumerable contains DataRowView objects.
          DataRowView row = enumerator.Current as DataRowView;
          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;
    }

    //
    // To support basic filtering, the employees cannot
    // be returned as an array of objects, rather as a
    // DataSet of the raw data values.
    public static DataSet GetAllEmployeesAsDataSet
 () {
      ICollection employees = GetAllEmployees();

      DataSet ds = new DataSet("Table");

      // Create the schema of the DataTable.
      DataTable dt = new DataTable();
      DataColumn dc;
      dc = new DataColumn("FirstName", typeof(string));
 dt.Columns.Add(dc);
      dc = new DataColumn("LastName",  typeof(string));
 dt.Columns.Add(dc);
      dc = new DataColumn("Title",     typeof(string));
 dt.Columns.Add(dc);
      dc = new DataColumn("Courtesy",  typeof(string));
 dt.Columns.Add(dc);
      dc = new DataColumn("Supervisor",typeof(Int32));
  dt.Columns.Add(dc);

      // Add rows to the DataTable.
      IEnumerator emplEnum = employees.GetEnumerator();
      DataRow row;
      NorthwindEmployee ne;
      while (emplEnum.MoveNext()) {
        ne = emplEnum.Current as NorthwindEmployee;
        row = dt.NewRow();
        row["FirstName"]  = ne.FirstName;
        row["LastName"]   = ne.LastName;
        row["Title"]      = ne.Title;
        row["Courtesy"]   = ne.Courtesy;
        row["Supervisor"] = ne.Supervisor;
        dt.Rows.Add(row);
      }
      // Add the complete DataTable to the DataSet.
      ds.Tables.Add(dt);

      return ds;
    }
    public static NorthwindEmployee GetEmployee(object
 anID) {
      if (anID.Equals("-1") ||
          anID.Equals(DBNull.Value) ) {
        return new NorthwindEmployee();
      }
      else {
        return new NorthwindEmployee(anID);
      }
    }

    public static void UpdateEmployeeInfo(NorthwindEmployee
 ne) {
      bool retval = ne.Save();
      if (! retval) { throw new NorthwindDataException("UpdateEmployee
 failed."); }
    }

    public static void DeleteEmployee(NorthwindEmployee
 ne) {
      bool retval = ne.Delete();
      if (! retval) { throw new NorthwindDataException("DeleteEmployee
 failed."); }
    }
  }

  public class NorthwindEmployee {

    public NorthwindEmployee () {
      ID = DBNull.Value;
      lastName = "";
      firstName = "";
      title="";
      titleOfCourtesy = "";
      reportsTo = -1;
    }

    public NorthwindEmployee (object anID) {
      this.ID = anID;

      SqlConnection conn
        = new SqlConnection (ConfigurationManager.ConnectionStrings["NorthwindConnection"].ConnectionString);
      SqlCommand sc =
        new SqlCommand(" SELECT FirstName,LastName,Title,TitleOfCourtesy,ReportsTo
 " +
                       " FROM Employees " +
                       " WHERE EmployeeID = @empId",
                       conn);
      // Add the employee ID parameter and set its value.
      sc.Parameters.Add(new SqlParameter("@empId",SqlDbType.Int)).Value
 = Int32.Parse(anID.ToString());
      SqlDataReader sdr = null;

      try {
        conn.Open();
        sdr = sc.ExecuteReader();

        // Only loop once.
        if (sdr != null && sdr.Read())
 {
          // The IEnumerable contains DataRowView objects.
          this.firstName        = sdr["FirstName"].ToString();
          this.lastName         = sdr["LastName"].ToString();
          this.title            = sdr["Title"].ToString();
          this.titleOfCourtesy  = sdr["TitleOfCourtesy"].ToString();
          if (! sdr.IsDBNull(4)) {
            this.reportsTo        = sdr.GetInt32(4);
          }
        }
        else {
          throw new NorthwindDataException("Data not loaded
 for employee id.");
        }
      }
      finally {
        try {
          if (sdr != null) sdr.Close();
          conn.Close();
        }
        catch (SqlException) {
          // Log an event in the Application Event Log.
          throw;
        }
      }
    }

    private object ID;
    public string EmpID {
      get { return ID.ToString();  }
    }

    private string lastName;
    public string LastName {
      get { return lastName; }
      set { lastName = value; }
    }

    private string firstName;
    public string FirstName {
      get { return firstName; }
      set { firstName = value;  }
    }

    public string FullName {
      get { return FirstName + " "
 + LastName; }
    }

    private string title;
    public String Title {
      get { return title; }
      set { title = value; }
    }

    private string titleOfCourtesy;
    public string Courtesy {
      get { return titleOfCourtesy; }
      set { titleOfCourtesy = value; }
    }

    private int    reportsTo;
    public int Supervisor {
      get { return reportsTo; }
      set { reportsTo = value; }
    }

    public bool Save () {
      // Implement persistence logic.
      return true;
    }

    public bool Delete () {
      // Implement delete logic.
      return true;
    }
  }

  internal class NorthwindDataException: Exception {
    public NorthwindDataException(string msg)
 : base (msg) { }
  }
}
package Samples.AspNet.JSL;

import System.*;
import System.Collections.*;
import System.Configuration.*;
import System.Data.*;
import System.Data.SqlClient.*;
import System.Web.UI.*;
import System.Web.UI.WebControls.*;

//
// EmployeeLogic is a stateless business object that encapsulates
// the operations one can perform on a NorthwindEmployee object.
//
public class EmployeeLogic
{
    // Returns a collection of NorthwindEmployee objects.
    public static ICollection GetAllEmployees()
 throws NorthwindDataException
    {
        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 idObj = row.get_Item("EmployeeID").ToString();
                NorthwindEmployee nwe = new NorthwindEmployee(idObj);
                // Add the NorthwindEmployee object to the collection.
                al.Add(nwe);
            }
        }
        finally {
            // If anything strange happens, clean up.
            sds.Dispose();
        }
        return al;
    } //GetAllEmployees

    //
    // To support basic filtering, the employees cannot
    // be returned as an array of objects, rather as a
    // DataSet of the raw data values.
    public static DataSet GetAllEmployeesAsDataSet()
 throws NorthwindDataException
    {
        ICollection employees = GetAllEmployees();

        DataSet ds = new DataSet("Table");
        // Create the schema of the DataTable.
        DataTable dt = new DataTable();
        DataColumn dc;
        dc = new DataColumn("FirstName", String.class.ToType());
        dt.get_Columns().Add(dc);
        dc = new DataColumn("LastName", String.class.ToType());
        dt.get_Columns().Add(dc);
        dc = new DataColumn("Title", String.class.ToType());
        dt.get_Columns().Add(dc);
        dc = new DataColumn("Courtesy", String.class.ToType());
        dt.get_Columns().Add(dc);
        dc = new DataColumn("Supervisor", Int32.class.ToType());
        dt.get_Columns().Add(dc);
        // Add rows to the DataTable.
        IEnumerator emplEnum = employees.GetEnumerator();
        DataRow row;
        NorthwindEmployee ne;
        while (emplEnum.MoveNext()) {
            ne = (NorthwindEmployee)emplEnum.get_Current();
            row = dt.NewRow();
            row.set_Item("FirstName", ne.get_FirstName());
            row.set_Item("LastName", ne.get_LastName());
            row.set_Item("Title", ne.get_Title());
            row.set_Item("Courtesy", ne.get_Courtesy());
            row.set_Item("Supervisor", (Int32)ne.get_Supervisor());
            dt.get_Rows().Add(row);
        }
        // Add the complete DataTable to the DataSet.
        ds.get_Tables().Add(dt);

        return ds;
    } //GetAllEmployeesAsDataSet

    public static NorthwindEmployee GetEmployee(Object
 anID)
        throws NorthwindDataException
    {
        if (anID.Equals("-1") || anID.Equals(DBNull.Value))
 {
            return new NorthwindEmployee();
        }
        else {
            return new NorthwindEmployee(anID);
        }
    } //GetEmployee

    public static void UpdateEmployeeInfo(NorthwindEmployee
 ne)
        throws NorthwindDataException
    {
        boolean retVal = ne.Save();
        if (!(retVal)) {
            throw new NorthwindDataException("UpdateEmployee
 failed.");
        }
    } //UpdateEmployeeInfo

    public static void DeleteEmployee(NorthwindEmployee
 ne)
        throws NorthwindDataException
    {
        boolean retVal = ne.Delete();
        if (!(retVal)) {
            throw new NorthwindDataException("DeleteEmployee
 failed.");
        }
    } //DeleteEmployee
} //EmployeeLogic

public class NorthwindEmployee
{
    public NorthwindEmployee()
    {
        id = DBNull.Value;
        lastName = "";
        firstName = "";
        title = "";
        titleOfCourtesy = "";
        reportsTo = -1;
    } //NorthwindEmployee

    public NorthwindEmployee(Object anID) throws NorthwindDataException
    {
        this.id = anID;

        SqlConnection conn = new SqlConnection(ConfigurationManager.
            get_ConnectionStrings().get_Item("NorthwindConnection").
            get_ConnectionString());
        SqlCommand sc = new SqlCommand(" SELECT FirstName
,LastName,Title,"
            + "TitleOfCourtesy,ReportsTo " + " FROM Employees "
            + " WHERE EmployeeID = @empId", conn);
        // Add the employee ID parameter and set its value.
        sc.get_Parameters().Add(new SqlParameter("@empId",
 SqlDbType.Int)).
            set_Value(anID.ToString());
        SqlDataReader sdr = null;

        try {
            conn.Open();
            sdr = sc.ExecuteReader();
            // Only loop once.
            if (sdr != null && sdr.Read())
 {
                // The IEnumerable contains DataRowView objects.
                this.firstName = sdr.get_Item("FirstName").ToString();
                this.lastName = sdr.get_Item("LastName").ToString();
                this.title = sdr.get_Item("Title").ToString();
                this.titleOfCourtesy = sdr.get_Item("TitleOfCourtesy").ToString();
                if (!(sdr.IsDBNull(4))) {
                    this.reportsTo = sdr.GetInt32(4);
                }
            }
            else {
                throw new NorthwindDataException("Data not
 loaded for"
                    + " employee id.");
            }
        }
        finally {
            try {
                if (sdr != null) {
                    sdr.Close();
                }
                conn.Close();
            }
            catch (SqlException exp) {
                // Log an event in the Application Event Log.
            }
        }
    } //NorthwindEmployee

    private Object id;

    /** @property 
     */
    public String get_EmpID()
    {
        return id.ToString();
    } //get_EmpID

    private String lastName;

    /** @property 
     */
    public String get_LastName()
    {
        return lastName;
    } //get_LastName

    /** @property 
     */
    public void set_LastName(String value)
    {
        lastName = value;
    } //set_LastName

    private String firstName;

    /** @property 
     */
    public String get_FirstName()
    {
        return firstName;
    } //get_FirstName

    /** @property 
     */
    public void set_FirstName(String value)
    {
        firstName = value;
    } //set_FirstName

    /** @property 
     */
    public String get_FullName()
    {
        return get_FirstName() + " " + get_LastName();
    } //get_FullName

    private String title;

    /** @property 
     */
    public String get_Title()
    {
        return title;
    } //get_Title

    /** @property 
     */
    public void set_Title(String value)
    {
        title = value;
    } //set_Title

    private String titleOfCourtesy;

    /** @property 
     */
    public String get_Courtesy()
    {
        return titleOfCourtesy;
    } //get_Courtesy

    /** @property 
     */
    public void set_Courtesy(String value)
    {
        titleOfCourtesy = value;
    } //set_Courtesy

    private int reportsTo;

    /** @property 
     */
    public int get_Supervisor()
    {
        return reportsTo;
    } //get_Supervisor

    /** @property 
     */
    public void set_Supervisor(int
 value)
    {
        reportsTo = value;
    } //set_Supervisor

    public boolean Save()
    {
        // Implement persistence logic.
        return true;
    } //Save

    public boolean Delete()
    {
        // Implement delete logic.
        return true;
    } //Delete
} //NorthwindEmployee

class NorthwindDataException extends Exception
{
    public NorthwindDataException(String msg)
    {
        super(msg);
    } //NorthwindDataException
} //NorthwindDataException
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ObjectDataSource クラス
ObjectDataSource メンバ
System.Web.UI.WebControls 名前空間
SqlCacheDependency



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

ObjectDataSource.SqlCacheDependency プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ObjectDataSource.SqlCacheDependency プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS