ADO NET 12 Data Adapter Data Set Data

  • Slides: 20
Download presentation

ADO. NET オブジェクト モデル 1/2 Data. Adapter データソースと Data. Set 間の伝播 クライアント Data. Set

ADO. NET オブジェクト モデル 1/2 Data. Adapter データソースと Data. Set 間の伝播 クライアント Data. Set 非接続型データキャッシュ Data. Set 非 接 続 型 Data. Reader 接続型レコードセット Forward only / Read only Data. Table Data. Adapter データソース Command Connection Data. Reader 接 続 型

ADO. NET オブジェクト モデル 2/2 Data. Set の構造 Data. Set Data. Relation Data. Row

ADO. NET オブジェクト モデル 2/2 Data. Set の構造 Data. Set Data. Relation Data. Row Data. Table ~ Data. Adapter Data. Row Data. Table Data. Adapter Data. Row Data. Adapter

. NET Framework データ プロバイダ データ ソースにアクセスするためのクラスのセット データ プロバイダの種類. NET Framework Data Provider for

. NET Framework データ プロバイダ データ ソースにアクセスするためのクラスのセット データ プロバイダの種類. NET Framework Data Provider for SQL Server 7. 0 以降 . NET Framework Data Provider for 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を直接使う Execute. Query メソッド、Data. Reader を使って操作 Sub Main() Dim cn As New

基本的な接続と参照 1/2 Connection/Commandを直接使う Execute. Query メソッド、Data. Reader を使って操作 Sub Main() Dim cn As New Ole. Db. Connection() Dim cmd As New Ole. Db. Command() Dim dr As Ole. Db. Data. Reader cn. Connection. String = str. Cn '接続文字列 cn. Open() cmd. Connection = cn cmd. Command. Text = "SELECT title FROM titles" dr = cmd. Execute. Reader() While dr. Read() s = dr. Get. String(0) s = CStr( dr("title") ) End While dr. Close() cn. Close() End Sub VB. NET

基本的な接続と参照 2/2 Connection/Commandを直接使う Execute. Query メソッド、Data. Reader を使って操作 static void Main(string[] args) { Ole.

基本的な接続と参照 2/2 Connection/Commandを直接使う Execute. Query メソッド、Data. Reader を使って操作 static void Main(string[] args) { Ole. Db. Connection cn = new Ole. Db. Connection(); Ole. Db. Command cmd = new Ole. Db. Command(); Ole. Db. Data. Reader dr; cn. Connection. String = str. Cn; //接続文字列 cn. Open(); cmd. Connection = cn; cmd. Command. Text = "SELECT title FROM titles"; dr = cmd. Execute. Reader(); while( dr. Read() ) { s = dr. Get. String(0); s = (string) dr["title"]; } dr. Close(); cn. Close(); } C#

基本的な接続と更新 1/2 Connection/Commandを直接使う Execute. Non. Query メソッド Sub Main() VB. NET Dim cn As

基本的な接続と更新 1/2 Connection/Commandを直接使う Execute. Non. Query メソッド Sub Main() VB. NET Dim cn As New Ole. Db. Connection() Dim cmd As New Ole. Db. Command() cn. Connection. String = str. Cn cn. Open() cmd. Connection = cn cmd. Command. Text = "UPDATE titles SET price = price + 1 " + _ "WHERE title_id = 'BU 1111'" 'SQL文の実行 cmd. Execute. Non. Query() cn. Close() End Sub

基本的な接続と更新 2/2 Connection/Commandを直接使う Execute. Non. Query メソッド static void Main(string[] args) { Ole. Db.

基本的な接続と更新 2/2 Connection/Commandを直接使う Execute. Non. Query メソッド static void Main(string[] args) { Ole. Db. Connection cn = new Ole. Db. Connection(); Ole. Db. Command cmd = new Ole. Db. Command(); cn. Connection. String = str. Cn; cn. Open(); cmd. Connection = cn; cmd. Command. Text = "UPDATE titles SET price = price + 1 " + "WHERE title_id = 'BU 1111'"; //SQL文の実行 cmd. Execute. Non. Query(); cn. Close(); } C#

データセットへの読み込み 1/2 Data. Adapter による伝播 データソース → Data. Adapter → Data. Set Sub Main()

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

データセットへの読み込み 2/2 Data. Adapter による伝播 データソース → Data. Adapter → Data. Set static void

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

データセットからの更新 1/2 Data. Adapter による伝播 データソース ← Data. Adapter ← Data. Set Sub Main()

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

データセットからの更新 2/2 Data. Adapter による伝播 データソース ← Data. Adapter ← Data. Set C# static

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