方法: 作成し、Visual C# を使用して、型指定されたデータセットを使用します。NET

文書翻訳 文書翻訳
文書番号: 320714
すべて展開する | すべて折りたたむ

目次

概要

この資料で作成し、型を使用する方法を示しています データセット 小規模な Web アプリケーションでは。入力 データセット、から継承、 データセット クラスは、最初のクラスのメンバーを作成します。 データセットデータ テーブルDataColumnsは、厳密な型指定を使用すると、多くの利点を生成します。

要件

推奨されるハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、スキルと知識、および service pack は、次の手順を完了するために必要は次のとおりです。
  • Microsoft SQL Server 6.5 以降と Northwind データベース
必要なスキルの前。
  • Microsoft SQL Server に関する一般的な知識
  • マイクロソフトの Visual Studio での一般的な知識。NET
  • Microsoft ADO での一般的な知識。NET
  • マイクロソフトの一般的な知識。NET Web コントロール

型指定されたデータセット

Visual Studio を使用して、小規模な Web アプリケーションを作成するのには、次の手順を実行します。NET。Web アプリケーションが、型指定された使用します。 データセット ノースウィンド データベースに、即席 SQL クエリの結果を表示します。
  1. Visual Studio を起動します。NET。
  2. という名前の新しい Web アプリケーション プロジェクトを作成します。 TDS Visual C# で。NET。
  3. ソリューション エクスプ ローラーが表示されているかどうかを確認します。ソリューション エクスプ ローラーが表示されていない場合は、ctrl キーを押しながら alt キーを押しながら L キーを押します。
  4. エディター ウィンドウでは、WebForm1.aspx ファイルが開いていることを確認してください。ファイルが開かれていない場合をダブルクリックします。 WebForm1.aspx ファイルを開くには、ソリューション エクスプ ローラー
  5. ・ エディターのウィンドウでをクリックします。 デザイン デザイン ビューに切り替えるにします。
  6. [ツールボックス] を開くには、ctrl キーを押しながら alt キーを押しながら X キーを押します。[ツールボックス] をクリックします。 Web フォーム.選択し、次に、ページの左上隅にドラッグします。 2 台 (各ラベルの右側に配置) は、テキスト ボックスに続けて、ラベルの行。これで、追加します。 データ グリッド 同じようにします。
  7. 一番上のラベルをクリックします。[プロパティ] ウィンドウを表示 F4 キーを押します。変更は、 Text プロパティ するには 製品.その他のラベルをクリックし、変更を Text プロパティ するには カテゴリ.
  8. 新しく追加するのには データセット プロジェクトに ctrl キーと shift キーを押しながら A キーを押すし、 データセット テンプレートの一覧にします。名前、 データセット 次: dsProducts.xsd.ファイルは、XML スキーマは、実際にであることに注意してください。クリックしてください。 [OK].今すぐ、エディター ウィンドウで淡い黄色ページを参照してください。
  9. 入力する データセットは、サーバー エクスプ ローラーを開くには ctrl キーと alt キーを押しながら S キーを押します。
  10. クリックしてください。 サーバーをクリックして Computer Nameをクリックして SQLServersをクリックして サーバー名をクリックして Northwind、し ビュー.
  11. Northwind の SQL Server のビューを選択します。 五十音順商品リスト、し、淡い黄色にビューをドラッグ データセット ページします。ビューによって生成される結果セットのページ上に表示されます。実際の XML スキーマ ファイルを参照するをクリックして、 XML エディター ウィンドウの下にあるボタンです。
  12. SQL Server オブジェクトを今すぐに基づいてスキーマが存在しています。作成し、型指定された入力します。 データセット、まずスキーマにマップされるクラスを生成する必要があります。デザイン ビューを右クリックし、ことを確認、 データセットを生成します。 選択されていることを確認します。選択されていない場合は、オンにします。スキーマを保存してクラスを生成するには、ctrl キーを押しながら S キーを押します。
  13. 新しい表示するには、入力しました。 データセット クラスをクリックしてください すべてのファイルを表示します。 ソリューション エクスプ ローラーで。
  14. 次に、ツリーを展開します。 dsProducts.xsd.新しいクラスのマッピング スキーマが含まれている dsProducts.vb ファイルを参照してください。また、ファイルへの変更を追跡するために使用される dsProducts.xsx ファイルを参照してください。
  15. 入力されたを表示するコードを記述するのには データセット、直接の Web フォームではなく、Web コントロール) をダブルクリックします。Web フォームの分離コードが表示されます、およびカーソルの中には、 Page_Load イベントです。
  16. System.Data.SqlClient 名前空間にあるクラスを含めるには、次を追加します。 ここで 分離コードのステートメント:
    using System.Data.SqlClient;
    					
    メモ: Visual Studio では、Web アプリケーションを作成すると、プロジェクトに、小規模の Web アプリケーションにする必要がありますは、他の名前空間が自動的に参照されます。NET。

  17. で、 Page_Load イベント プロシージャは、既定のコンス トラクターには、接続文字列を渡すことによって接続オブジェクトを作成、 SqlConnection クラス:
    SqlConnection cn = new SqlConnection("server=myserver;uid=myuid;pwd=mypassword;database=northwind");
    					
  18. 含む Dataset オブジェクトに、渡される SqlCommand オブジェクトを作成します。SqlCommand のコンス トラクターには、即席 SQL ステートメントと、新しい Connection オブジェクトに渡します。以前の設定は、 CommandText 新しい SqlCommand オブジェクトのプロパティです。ストアド プロシージャの名前を渡すこともできます。
    SqlCommand cmd = new SqlCommand("select * from [Alphabetical list of products]", cn);
    					
  19. 新しい SqlCommand オブジェクトがコンス トラクターに渡すことを含む Dataset オブジェクトのインスタンスを作成します。
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    					
  20. これで、データベースに接続し、データを取得するために必要なオブジェクトを作成します。次のコードを入力したのです。 データセット.なおのインスタンスは、 dsProducts クラスが作成される: dsProducts スキーマにマップしてから継承するクラスは、 データセット クラスは、ジェネリックではないです。 データセット クラス自体です。
    dsProducts tds = new dsProducts();
    					
  21. 呼び出して、 塗りつぶし メソッドの入力されたを渡すことを含む Dataset データセット オブジェクトとは データセット入力 データ テーブルのテーブル名 プロパティ:
    da.Fill(tds, tds.Tables[0].TableName);
    					
  22. 設定するのには テキスト 厳密な型の列には、型指定されたテキスト ボックス コントロールのプロパティ データセットデータ テーブル、次の形式を使用します。
    dsProducts.DataTableName[RowIndex].ColumnName
    						
    このサンプル アプリケーションでは、RowIndex は 5 にハードコーディングです。
    TextBox1.Text = tds.Alphabetical_list_of_products[5].ProductName;
    TextBox2.Text = tds.Alphabetical_list_of_products[5].CategoryName; 
    						
    ので、 コレクションは 0 から始まる、ページの読み込み、テキスト ボックス コントロールに注意してくださいの 6 番目の行に品目の商品とカテゴリの名前を表示すると、 データ グリッド.
  23. すべての結果を表示するのには、 データ グリッド、設定に データ ソース プロパティがデータ グリッドに、新しいを入力します。 データセットを呼び出す DataBind():
    DataGrid1.DataSource = tds;
    DataGrid1.DataBind();
    					

(WebForm1.aspx) のコードを実行します。

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="TDS.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
	<title>WebForm1</title>
	<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
	<meta name="CODE_LANGUAGE" Content="C#">
	<meta name="vs_defaultClientScript" content="JavaScript">
	<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
	<form id="Form1" method="post" runat="server">
		<asp:Label id="Label1"  runat="server" >Label</asp:Label>
		<asp:DataGrid id="DataGrid1"  runat="server" ></asp:DataGrid>
		<asp:TextBox id="TextBox2"  runat="server"></asp:TextBox>
		<asp:TextBox id="TextBox1"  runat="server"></asp:TextBox>
		<asp:Label id="Label2"  runat="server" >Label</asp:Label>
	</form>
</body>
</HTML>
				

(WebForm1.aspx.cs) にコードを実行します。

using System.Data.SqlClient;

namespace TDS
{
  /// <summary>
  /// Summary description for WebForm1.
  /// </summary>
  public class WebForm1 : System.Web.UI.Page
  {
    protected System.Web.UI.WebControls.Label Label1;
    protected System.Web.UI.WebControls.Label Label2;
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.TextBox TextBox2;
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
	
    private void Page_Load(object sender, System.EventArgs e) 
    {
	SqlConnection cn = new SqlConnection("server=localhost;uid=sa;pwd=abcd;database=northwind");
	SqlCommand cmd = new SqlCommand("select * from [Alphabetical list of products]", cn);
	SqlDataAdapter da = new SqlDataAdapter(cmd);
	dsProducts tds = new dsProducts();

	da.Fill(tds, tds.Tables[0].TableName);
	TextBox1.Text = tds.Alphabetical_list_of_products[5].ProductName;
	TextBox2.Text = tds.Alphabetical_list_of_products[5].CategoryName; 

         DataGrid1.DataSource = tds;
	DataGrid1.DataBind();

    }

    #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
	// 
	// CODEGEN: This call is required by the ASP.NET Web Form Designer.
	// 
	InitializeComponent();
	base.OnInit(e);
    }
		
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {    
	this.TextBox1.TextChanged += new System.EventHandler(this.TextBox1_TextChanged);
	this.Load += new System.EventHandler(this.Page_Load);

    }
    #endregion
  }
}

				

検証

Web アプリケーションを実行する F5 キーを押します。ブラウザーに「叔父ボブの有機的なナッツ ナシ」を表示、 製品 テキスト ボックス、および「のビール」、 カテゴリ テキスト ボックスです。製品情報で塗りつぶされる、DataGrid には] の下のテキスト ボックスが表示されます。

トラブルシューティング

  • ジェネリック データセット 合格することを必要としない、 テーブル名 呼び出すと、 塗りつぶし メソッドです。入力 データセットは、アクセスしている場合でも、しかし、必要に データセットテーブル コレクションのインデックスではなく、 テーブル名.入力されたパスの障害 データセットテーブル名 実行時に、「ない行位置 0」エラーをスローします。この要件を入力します。 データセット また、独自に作成できませんことを意味します。 テーブル名 参照されている 1 つを渡す必要がありますが、型指定されたの データセット クラスは、上記のコードのようにアクセスされます。
  • Visual Studio によって生成されたスキーマを手動で変更します。NET は最初を使用して、スキーマを生成するのには、型指定されたデータベース オブジェクトを変更する場合は上書きされます。 データセット クラスし、は、スキーマのデザイン ビューにドラッグします。一般と Microsoft SQL Server のレベルと新しい生成に入力した内容を変更する方が望ましいです。 データセット も、結果のスキーマが変更されました。

関連情報

型を指定された操作に関する詳細については データセット、次のマイクロソフト Web サイトを参照してください。
.aspx の http://msdn2.microsoft.com/en-us/library/esbykkzb (vs.71)


プロパティ

文書番号: 320714 - 最終更新日: 2011年7月27日 - リビジョン: 4.0
キーワード:?
kbhowtomaster kbmt KB320714 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:320714
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com