データベースアクセス技術 ADO.NET 2.0 開発者カテゴリ ◆NOTES◆

Slides:



Advertisements
Similar presentations
TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
Advertisements

わんくま同盟 名古屋勉強会 # 初音 玲. わんくま同盟 名古屋勉強会 #4 今日の前提 Windows Mobile アプリの話が中心 BASIC 認証 httphttp http (XML) SOAP.
WebサービスII (第12回)‏ 2007年12月19日 植田龍男.
IIS 4.0で開発をするコツ Webアプリケーション構築.
PROCESS 14:一般情報(2) InstallShieldLecture
情報理工学部 情報システム工学科 ラシキアゼミ 3年 H 井奈波 和也
JPAを利用した RESTful Webサービスの開発
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
Visual Studio 2005による XML Web サービス入門
S2Container.NET, S2Dao.NET コミッタ 藤井 宏明
Visual Studio 2005による Web アプリケーション入門
6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
WebサービスII (第10回) 2007年11月28日 植田龍男.
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
Microsoft Office 2010 クイックガイド ~Access編~
ACCESSによる データベースアプリケーション開発実習 日本工業大学 情報工学科 “データベースの実際” 教材
続 Entity Framework 入門 SQLWorld #8 サヴロウ.
VBA H106077 寺沢友宏.
Microsoft .NET 入門 Silverlight のための 福井コンピュータ株式会社 小島 富治雄
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
Delphi Day ~Delphi 概要、および新バージョンのご紹介~
Visual Studio LightSwitchの概要
はじめてのASP.NET 楽しいアプリ制作の会 #1 TWorks.
WebサービスII (第8回) 2007年11月14日 植田龍男.
SAP & SQL Server テクニカルアーキテクチャ概要 マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
データベース設計 第9回 Webインタフェースの作成(1)
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
Visual Basic Oracle Database 11g Release 1
データベースとJavaをつなげよう! ~JDBC~
Windows Phone 7.5 の データ アクセスとクラウド連携
Miku + Oracle = Visual Basic ?
11.6 ランダムアクセスファイル 11.7 StreamTokenizerクラス
Oracle XEを使ってみよう 初音玲.
JDBC J2EE I 第4回 /
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
3-10. MySQLシステムの管理  2004年6月10日  大北高広                01T6010F.
[コース: B3] .NET Framework 2.0 分散アプリケーション開発
Visual Studio 2005による スマート クライアント入門
いまさら聞けないVB2008 ADO.NET超入門 初音 玲.
MVP for VB が語る C# 入門 初音 玲.
MVP for VB が語る C# 入門 初音 玲.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
わんくま同盟・techbank.jp 夏椰 Insight Technology, Inc. 今川 美保
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
Emoneαプログラミング入門 初音 玲.
Microsoft Visual Studio 2005 Tools for
.NET Framework 3.0 概要 (旧称 : WinFX)
JDBC データベース論 第12回.
Javaによる Webアプリケーション入門 第7回
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟.
Oracle XEを使ってみよう 初音玲.
<前提条件> iSeriesSite ワークフロー 実行環境 構成イメージ
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
JDBC J2EE I (データベース論) 第5回 /
Twitterクライアントに学ぶASP.NETアプリ
JDBC ソフトウェア特論 第3回.
EntityManager と EJB QL EJB 3.0 コース 第8回 2006年8月5日.
iSeries Site 人事・給与C/S版のハードウェア・ソフトウェア要件
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
TableAdapterとSQLDependency 便利さを使い倒そう。 by えムナウ
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
How To WPF アプリケーション Part4 By 中博俊.
Microsoft Office Project Server 2007
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
Presentation transcript:

データベースアクセス技術 ADO.NET 2.0 開発者カテゴリ ◆NOTES◆ PowerPoint のノート部分には、講師がセミナーを進める上での留意点を記載しています。 また、ノート部分の「◆90分ダイジェスト vs 半日コース」という欄には、今回の 90分ダイジェストコースと、このコースの元になった半日コースとの、おおよその差分が記述してあります。 この差分記述は、90分コースでのだいたいの深さの目安として掲載したものであって、実際の講習では、厳密にこの記載に基づいて、講習範囲を限定する必要はないでしょう。もし、90分コースを開いた際に、時間が余った場合は、この差分の部分を追加説明するなど、補足説明の指針にすればよいと思います。

アジェンダ ADO.NET の基本的なオブジェクト Visual Studio 2005 でのビジュアルな ADO.NET の実装

ADO.NET とは ? ADO.NETとは? 実装形態の選択肢 .NET Frameworkで提供されるデータアクセスのためのクラスライブラリ 汎用プログラミングインターフェイス 実装形態の選択肢 接続型 データ操作中は接続を維持 クライアント データベース サーバー Windowsフォーム 接続 DataSet データ層 非接続型 データ操作中は接続を一旦切断

ADO.NET の特徴 ADO.NETの特徴 非接続データセットのサポート (スケーラビリティ) XMLデータのサポート (汎用性) Web フォーム XML Webサービス DataSet DataSet ブラウザ XML ビジネス層 (中間層) データ層 Windows フォーム DataSet 異種プラットフォーム

ADO.NET オブジェクト モデル 1/2 DataAdapter DataSet DataReader 非接続型データキャッシュ DataReader 接続型レコードセット Forward only / Read only クライアント 非接続型 DataSet DataTable 接続型 (Instructor's notes) これ以降の目的は、今後 ADO.NET を調べる上で円滑に進むよう、代表的なオブジェクトの位置づけや特徴を理解することです。 DataAdapter DataReader データソース Command Connection

ADO.NET オブジェクト モデル 2/2 DataSet の構造 DataSet DataTable DataTable DataRelation DataRelation DataRow DataTable DataTable DataRow DataRow DataRow DataTable ~ DataAdapter DataAdapter DataAdapter

.NET Framework データ プロバイダ データ ソースにアクセスするためのクラスのセット データ プロバイダの種類 .NET Framework Data Provider for SQL Server SQL Server 7.0 以降 .NET Framework Data Provider for Oracle Oracle Client 8.1.7 以降 .NET Framework Data Provider for OLE DB SQL Server 6.5、Access、あらゆる OLE DB データ ソース .NET Framework Data Provider for ODBC レガシ データ その他

基本的な接続と参照 1/2 Connection/Commandを直接使う ExecuteQuery メソッド、DataReader を使って操作 VB.NET Sub Main() Dim cn As New OleDbConnection() Dim cmd As New OleDbCommand() Dim dr As OleDbDataReader cn.ConnectionString = strCn '接続文字列 cn.Open() cmd.Connection = cn cmd.CommandText = "SELECT title FROM titles" dr = cmd.ExecuteReader() While dr.Read() s = dr.GetString(0) s = CStr( dr("title") ) End While dr.Close() cn.Close() End Sub (Instructor's notes) ◆90分ダイジェスト vs 半日コース 代表的なオブジェクトの感触をつかんでもうらために、Connection、Command、DataAdapter、DataSet の基本的なコードを紹介します。 半日コースでは、パラメータ付きクエリ、ストアドプロシージャ、トランザクション、フィルタ、並び替えなどのバリエーションも紹介しています。

基本的な接続と参照 2/2 Connection/Commandを直接使う ExecuteQuery メソッド、DataReader を使って操作 C# static void Main(string[] args) { OleDbConnection cn = new OleDbConnection(); OleDbCommand cmd = new OleDbCommand(); OleDbDataReader dr; cn.ConnectionString = strCn; //接続文字列 cn.Open(); cmd.Connection = cn; cmd.CommandText = "SELECT title FROM titles"; dr = cmd.ExecuteReader(); while( dr.Read() ) { s = dr.GetString(0); s = (string) dr["title"]; } dr.Close(); cn.Close();

基本的な接続と更新 1/2 Connection/Commandを直接使う ExecuteNonQuery メソッド VB.NET Sub Main() Dim cn As New OleDbConnection() Dim cmd As New OleDbCommand() cn.ConnectionString = strCn cn.Open() cmd.Connection = cn cmd.CommandText = "UPDATE titles SET price = price + 1 " + _ "WHERE title_id = 'BU1111'" 'SQL文の実行 cmd.ExecuteNonQuery() cn.Close() End Sub

基本的な接続と更新 2/2 Connection/Commandを直接使う ExecuteNonQuery メソッド C# static void Main(string[] args) { OleDbConnection cn = new OleDbConnection(); OleDbCommand cmd = new OleDbCommand(); cn.ConnectionString = strCn; cn.Open(); cmd.Connection = cn; cmd.CommandText = "UPDATE titles SET price = price + 1 " + "WHERE title_id = 'BU1111'"; //SQL文の実行 cmd.ExecuteNonQuery(); cn.Close(); }

データセットへの読み込み 1/2 DataAdapter による伝播 データソース → DataAdapter → DataSet VB.NET Sub Main() Dim ds As New DataSet() Dim adapter As New OleDbDataAdapter( _ "SELECT * FROM titles", _ "provider=SQLOLEDB;data source=(local);" + _ "user id=sa;password=;initial catalog=pubs") 'データソース → DataAdapter → DataSet adapter.Fill(ds, "titles") '各行を走査 Dim row As DataRow For Each row In ds.Tables("titles").Rows Console.WriteLine( row("title").ToString() ) Next row End Sub

データセットへの読み込み 2/2 DataAdapter による伝播 データソース → DataAdapter → DataSet C# static void Main(string[] args) { DataSet ds = new DataSet(); OleDbDataAdapter adapter = new OleDbDataAdapter ("SELECT * FROM titles", "provider=SQLOLEDB;data source=(local);" + "user id=sa;password=;initial catalog=pubs"); //データソース → DataAdapter → DataSet adapter.Fill(ds, "titles"); //各行を走査 foreach(DataRow row in ds.Tables["titles"].Rows) Console.WriteLine( row["title"].ToString() ); }

データセットからの更新 1/2 DataAdapter による伝播 データソース ← DataAdapter ← DataSet VB.NET Sub Main() Dim ds As New DataSet() Dim adapter As New OleDbDataAdapter( _ "SELECT * FROM titles", _ "provider=SQLOLEDB;data source=(local);" + _ "user id=sa;password=;initial catalog=pubs") Dim builder As New OleDbCommandBuilder(adapter) 'データソース → DataAdapter → DataSet adapter.Fill(ds, "titles") 'データセットのデータを更新 ds.Tables("titles").Rows(0)("title") = ".NET Products" 'データソース ← DataAdapter ← DataSet adapter.Update(ds, "titles") End Sub

データセットからの更新 2/2 DataAdapter による伝播 データソース ← DataAdapter ← DataSet C# static void Main(string[] args) { DataSet ds = new DataSet(); OleDbDataAdapter adapter = new OleDbDataAdapter ("SELECT * FROM titles", "provider=SQLOLEDB;data source=(local);" + "user id=sa;password=;initial catalog=pubs"); OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter); //データソース → DataAdapter → DataSet adapter.Fill(ds, "titles"); //データセットのデータを変更 ds.Tables["titles"].Rows[0]["title"] = ".NET Products"; //データソース ← DataAdapter ← DataSet adapter.Update(ds, "titles"); }

アジェンダ ADO.NET の基本的なオブジェクト ADO.NET を使用したデータ操作 Visual Studio 2005 でのビジュアルな ADO.NET の実装

データ ソース構成ウィザード TableAdapter DataSet Windowsフォーム データベース サーバー ★ ★ クライアント (Instructor's notes) これ以降の主な目的は、ADO.NET を使ったデータ連結に関して、Visual Studio でのビジュアルな操作によって、コードが自動生成されることを体感することです。 データベース サーバー ★ TableAdapter ★ DataSet クライアント データ層

データ ソース ウィンドウ 1/2 ゼータセット構造のビュー データ連結の簡素化 ドラッグ アンド ドロップによる指定 コントロールの種類を指定できる

データ ソース ウィンドウ 2/2 BindingSource を介したデータ連結 BindingNavigator データを表示する ユーザー インターフェイス (カレント レコードを反映) Windowsフォーム ★ カレント レコードの移動等を 行うユーザー インターフェイス ★ BindingNavigator カレント レコードの管理 データの提供 ★ BindingSource データベース サーバー TableAdapter DataSet クライアント データ層

データセット デザイナ 型指定されたデータセットのデザイン ツール 直接の編集対象は .xsd ファイル 型指定されたデータセットと TableAdapter の編集 型指定されたデータセットを作るには データ ソース ウィンドウから データ ソースを追加するとき、 「データベース」 か 「Web サービス」を選択 [プロジェクト] - [新しい項目の追加] から、「データ セット」を選択