asp.net with c#sci.udru.ac.th/websci/download/com/rewadee/programweb/ado.pdf · อ.เรวดี...

44
อ.เรวดี พิพัฒน์สูงเนิน ASP.NET with C# ADO.NET

Upload: others

Post on 26-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

ASP.NET with C#

ADO.NET

Page 2: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

ADO.NET คอ?

• ADO.NET นนกคอกลมของออปเจกตภายใตเนมเสปซ System.Data ซงจะท าหนาทเปนสอกลางระหวาง โปรแกรมทพฒนาดวยสถาปตยกรรม .NET Framework กบ “แหลงขอมล” ซงในทน อาจจะหมายถง ไฟลฐานขอมลของ Access ไฟล Excel ก และยงหมายรวมไปถง ระบบจดการฐานขอมลโดยเฉพาะอยางเชน Microsoft SQL Server หรอวา Oracle เปนตน

Page 3: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

ADO.NET คอ?• ADO.NET นน ไดรบการปรบปรงจาก ADO เวอรชนกอน ใหสนบสนนการ

ท างานทงแบบ Connected และ Disconnected ซงแตเดมนน จะสนบสนนเพยงการท างานแบบ Connected หรอ แบบเชอตอกบแหลงขอมลตลอดเวลาเทานน

• ดวยการท างานแบบ Disconnected คณจงสามารถทจะปดการตดตอกบแหลงขอมล ในขณะทท าการเรยกด หรอท าการแกไขขอมล และยงสามารถท าการจดเรยง (Sort) ขอมล หรอแมกระทง Filter ขอมลเพอการแสดงผลได เปนการชวยประหยดทรพยากรระบบ โดยเฉพาะอยางยง เมอเปนการท างานรวมกบระบบจดการฐานขอมลอยาง Microsoft SQL Server หรอ Oracle ทเปนการตดตอกนระหวางโปรเซสของ ASP และโปรเซสของตวระบบจดการฐานขอมล หรอ การตดตอกนระหวางเครองเซรฟเวอร 2 เครอง

Page 4: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

โครงสรางของ ADO.NET

สามารถแบงออกไดเปน 2 กลม คอ

• กลมทท างานกบขอมลบนหนวยความจ า หรอท างานแบบ Disconnected

• กลมทท างานกบแหลงขอมลโดยตรง หรอท างานแบบ Connected

Page 5: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

ADO.NET (Disconnected)

• คลาสกลมน จะเปนกลมทใชในการจ าลองโครงสรางของขอมล ใหมลกษณะคลายคลงกบขอมลจรงทถกเกบอยในฐานขอมลใหมากทสด โดยการจ าลอง ตาราง (Table) ฟลด (Field) และเรคคอรด (Record) หรอแมกระทงความสมพนธระหวางตาราง (Data Relation) จากแหลงขอมล มาไวในหนวยความจ าหลก ซงผพฒนาจะสามารถเรยกใช และแกไขขอมลทอยในคลาสกลมนได เสมอนวาก าลงท างานกบฐานขอมลจรง กอนทจะท าการ Update ขอมลจากคลาสเหลาน กลบไปยงแหลงขอมล

Page 6: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

ADO.NET (Connected)

• คลาสในกลมนจะเปนคลาสทท าการสราง Connection กบแหลงขอมลโดยตรง ไมวาจะเปนไฟล หรอ ระบบจดการฐานขอมลกตาม และท าการอาน หรอแกไขขอมลไปยงแหลงขอมลนน ซงในคลาสกลมนจะเกยวของกบการเปด Connection ไปยงระบบจดการฐานขอมล และการใชค าสง SQL เพอท าการเรยกด หรอวาแกไขขอมล โดยคลาสกลมน จะมชอเรยกเปนทางการวา .NET Data Provider

Page 7: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

ADO.NET

Page 8: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

แนวทางการพฒนา ASP.NET กบ ADO.NET

Page 9: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

.NET Framework Data Provider

แหลงขอมล Namespace ของ Provider

SQL Server System.Data.sqlClient

OLE DB System.Data.OleDb

ODBC System.Data.Odbc

Oracle System.Data.OracleClient

Entity Client System.Data.EntityClient

Page 10: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

กลมออบเจกตหลกของสถาปตยกรรม ADO.NET

OleDbConnection SqlConnection

OleDbCommand OleDbDataAdapter SqlDataAdapter SqlCommand

OleDbDataReader SqlDataReaderDataSet

Page 11: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

หนาทของแตละออบเจกต

OLEDB Data Providerท าหนาทเขาถงขอมลในฐานขอมล ใชงานรวมกบฐานขอมล MS Access

SQL Server Data Provider ท าหนาทเขาถงขอมลในฐานขอมล ใชงานรวมกบ

ฐานขอมล MS SQL Server

ออบเจกตทใชเกบผลการท างาน

Page 12: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

Object หลกของ .NET Provider

Object หนาท และ คลาส

Connection ท าหนาทเชอมตอไปยงแหลงขอมล /คลาส DbConnection

Command รนค าสงทมผลตอแหลงขอมล /คลาส DbCommand

DataReader อานขอมลจากแหลงขอมลโดยตรง แบบอานไปขางหนาอยางเดยว /คลาส DbDataReader

DataAdapter กระท ากบขอมลใน DataSet แลวคอย update กลบไปยงแหลงขอมล / คลาส DbDataAdapter

Page 13: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

Object หลกของ .NET Provider

Object หนาท และ คลาส

Transaction กระท ากบขอมลในแหลงขอมลแบบ Transaction /คลาส DbTransaction อยใน namespace :System.Transactions

CommandBuilder ชวยสรางค าสงคณสมบตจากDataAdapterหรอ /คลาส CommandBuilder

ConnectionStringBuilder

ชวยในการแกไข และจดการstring /คลาส DbConnectioStringBuilder

Parameter นยาม input หรอ output ทสงคาคนกลบจากค าสงหรอ store procedure / คลาส DbParameter

Page 14: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

Namespace ทเรยกใชงาน

„กลมออบเจกต OLEDB Data Provider อยในเนมสเปซ System.Data.OleDb„กลมออบเจกต SQL Server Data Provider อยในเนมสเปซ System.Data.SqlClient„ออบเจกต Data Set อยในเนมสเปซ System.Data

Page 15: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

กลมออบเจกต OLEDB Data Provider

WinForm Apps WebForm Apps

สวนแสดงผล User Interface -UI

DataSet

DataTable DataTable

OleDb.NET Data Provider

OleDb Command

OleDb DataAdapter

OleDbConnection

DataReader

Database

Page 16: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

กลมออบเจกต SQL Server Data Provider

WinForm Apps WebForm Apps

สวนแสดงผล User Interface -UI

DataSet

DataTable DataTable

SQL Server.NET Data Provider

Sql Command Sql DataAdapter

OleDbConnection

DataReader

Database

Page 17: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

ขนตอนการตดตอฐานขอมลโดยใชออบเจกตกลมOLEDB

• อยในเนมสเปซ System.Data.OleDb

• OleDbConnection class

• OleDbCommand class

• OleDbDataAdapter class

• OleDbDataReader class

Page 18: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

ขนตอนการตดตอฐานขอมลโดยใชออบเจกตกลมSQLServer

• อยในเนมสเปซ System.Data.sqlClient

• sqlConnection class

• sqlCommand class

• sqlDataAdapter class

• sqlDataReader class

Page 19: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DbConnection class

ConnectionString ขอความค าสงทใชในการเปดฐานขอมลConnectionTimeOut รบคาเวลาทรอในขณะท าการตดตอกบ

ฐานขอมล ถาครบก าหนดเวลาจะหยดการตดตอและแสดงขอผดพลาด

State สถานการณตดตอฐานขอมล

„ 0 = disconnected

„ 1 = connected

Property ทส าคญท าหนาทในการเปดการเชอมตอกบฐานขอมล

Page 20: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DbConnection class(ตอ)

DbConnection()DbConnectio(string) string : ขอความทใชในการตดตอ

ฐานขอมล

Constructor

Open() เปดการเชอมตอกบฐานขอมลClose() ปดการเชอมตอกบฐานขอมล

Method ทจ าเปน

Page 21: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

ตวอยางการเชอมตอดวย OleDbConnection class

//ก ำหนด Connection string string strCon= “Provider = Microsoft.JET.OleDb.4.0;

Data Source=ต ำแหนงไฟลฐำนขอมล” ; User =ชอผใช ; Password = รหสผำน”

//สรำงออบเจกต connOleDbConnection conn As New OleDbConnection();conn.ConnectionString = strCon;conn.Open(); //เปดกำรเชอมตอฐำนขอมล

Page 22: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

ตวอยางการเชอมตอดวย sqlConnection class

//ก ำหนด Connection string string strCon= “Data Source=“ชอเซรฟเวอรฐำนขอมลฐำนขอมล” ;Initial catalog=“ชอฐำนขอมล” User =ชอผใช ; Password = รหสผำน; Integrated Security=true”

//สรำงออบเจกต connsqlConnection conn As New sqlConnection();conn.ConnectionString = strCon;conn.Open(); //เปดกำรเชอมตอฐำนขอมล

Page 23: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

Connection string (MS SQL Server)

• Standard security

• ตวอยาง

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

string strCon = “Data Source=Rewadee;Initial Catalog=Northwind;User Id=sa; Password=1234;”

Page 24: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

Connection string (MS SQL Server)

• Trusted Connection

• ตวอยาง

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

string strCon = “Data Source=Rewadee;Initial Catalog=Northwind; Integrated Security=SSPI;”

Page 25: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

Connection string (MS SQL Server)

• Connect via an IP address

• ตวอยาง

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

string strCon = “Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=Northwind;User ID=sa;Password=1234;”

***หมายเลขพอรต 1433 เปน default port ของ MS SQL Server

Page 26: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

Connection string (MS SQL Server)

• Attach a database file on connect to a local SQL Server Express instance

• ตวอยาง

Server=.\SQLExpress; AttachDbFilename= path of database file; Database=dbname; Trusted_Connection=Yes;

string strCon = “Server=.\SQLExpress; AttachDbFilename = c:\test\mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;”

Page 27: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DbCommand class

CommandText ขอความค าสงSQL หรอ StoreProcedure ทจ าประมวลผล

CommandTimeOut ก าหนดเวลาทรอในขณะท าการประมวลผล ถาครบก าหนดเวลาจะแสดงขอผดพลาด

CommandType ระบชนดของ CommandText ทจะประมวลผล

Connection ระบการเชอมตอกบฐานขอมล

Property ทส าคญ

ท าหนาทก าหนดค าสง SQL หรอ StoreProcedure ทจะประมวลผลในฐานขอมล

Page 28: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

OleDbCommand class(ตอ)

DbCommand()

DbCommand(string) string : ค าสง SQL หรอ StoreProcedure

DbCommand(string , DbConnection)

DbConnection : การเชอมตอฐานขอมล

DbCommand(string , DbConnection , DbTransaction)

Constructor

Page 29: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

OleDbCommand class

OleDbCommand cmd = New OleDbCommand();

cmd.Connection = conn ;

cmd.CommandText = “Select * From Products”;

cmd.CommandTimeOut = 90;

cmd.CommandType = CommandType.Text;

Page 30: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

sqlDbCommand class

sqlDbCommand cmd = New sqlDbCommand();

cmd.Connection = conn ;

cmd.CommandText = “Select * From Products”;

cmd.CommandTimeOut = 90;

cmd.CommandType = CommandType.Text;

Page 31: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DataAdapter class

DbDataAdapter()

DbDataAdapter(OleDbCommand)

DbDataAdapter(string , OleDbConnection)

DbDataAdapter(String , String)

Constructor

ท าหนาทเกบชดค าสงและการเชอมตอฐานขอมลทจะใชในการก าหนดขอมลใหแก DataSet และ update Data Source

Page 32: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

bDataAdapter class(ตอ)

InsertCommand ก าหนดค าสง SQL หรอ StroreProcedure ทจะเพมรายการขอมลใหมลงใน Data Source

DeleteCommand ก าหนดค าสง SQL หรอ StroreProcedure ทจะลบรายการขอมลจาก Data Source

UpdateCommand ก าหนดค าสง SQL หรอ StroreProcedure ทจะแกไขรายการขอมลใน Data Source

Property ทจ าเปน

Method ทจ าเปนFill เพม หรอ ปรบปรง(refresh) ขอมลใน DataSet

Update ปรบปรง(refresh) ขอมลใน DataSet

Page 33: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

OleDbDataAdapter class

DataSet ds = New DataSet();

OleDbDataAdapter da = New OleDbDataAdapter(“Select * from Products” , conn);

da.Fill(ds , “Products”);

Page 34: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

sqlDbDataAdapter class

DataSet ds = New DataSet();

sqlDbDataAdapter da = New sqlDbDataAdapter(“Select * from Products” , conn);

da.Fill(ds , “Products”);

Page 35: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DataReader class

DataReader()

DataReader(OleDbCommand)

DataReader(string , OleDbConnection)

DataReader(String , String)

Constructor

ท าหนาทอานขอมลแบบ Forward-only ของ แถวขอมลจาก Data Source (อานครง 1 เรคคอรด)

Page 36: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DataReader class

FieldCount จ านวนคอลมนในรายการขอมลปจจบน

HasRows บอกวาจ านวนรายการขอมลตงแต 1 รายการขนไป

RecordsAffected จ านวนรายการขอมลทมผลกบค าสงSQL

Property ทจ าเปน

Method ทจ าเปนClose ปดออบเจกตของ OleDbDataReader

Read เลอนออบเจกต OleDbDataReader ไปยงรายการตอไป

Page 37: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

OleDbDataReader class

string sql = “Select * from Products where ProductId = 77”;

OleDbCommand com = New OleDbCommand();

OleDbDataReader dr = New OleDbDataReader();

DataTable dt = New DataTable();

Page 38: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

sqlDataReader class

string sql = “Select * from Products where ProductId = 77”;

sqlCommand com = New sqlCommand();

sqlDataReader dr = New sqlDataReader();

DataTable dt = New DataTable();

Page 39: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DataSet class

DataSet()

DataSet(string) String : เปนชอชดขอมลภายใน DataSet

DataSet(SerializationInfo , StreamingContext)

Infrastructure

DataSet(SerializationInfo , StreamingContext , Boolean)

Infrastructure

Constructorท าหนาทเกบชดขอมลทไดจากออบเจกต OleDbDataAdapter

Page 40: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DataSet class(ตอ)

Tables ชดของตารางขอมลทบรรจอยใน DataSet

Property ทจ าเปน

Method ทจ าเปนClear เคลยร DataSet โดยลบขอมลออกจากตารางภายใน

DataSet

Clone คดลอกโครงสรางของ DataSet ทงหมด

Page 41: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DataReader vs DataSet• ออบเจกต DataReader และ DataSet ท าหนาทในการเกบ

ขอมลทอานออกมาจากแหลงขอมล

• เชน จากตารางขอมลโดยอาศยชดค าสง SQL หรอ จากแหลงขอมล XML เปนตน

Page 42: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DataReader vs DataSet (ตอ)• ออบเจกต DataReader อานขอมลทละ 1 เรคคอรดออกมา ม

สถานะการเคลอนทไปขางหนาอยางเดยว (Forward-only) สวนใหญเกดจากการรนค าสง SQL ของ ออบเจกต Command

• ตวอยางเชน ควรขอมลออกมาเปนชด โดยไมตองการอานขอมลทงหมดมาเกบไวทหนวยความจ า(RAM) แตตองการอานขอมลมาใชงานทละ 1 เรคคอรด

Page 43: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DataReader vs DataSet (ตอ)• ออบเจกต DataSet อานขอมลทงหมดทควรดวยค าสง SQL มา

เกบไวในหนวยความจ า จากนนจงน าไปใชในรปแบบตาง ๆ ตามตองการ

• ดงนน จงสามารถจดการกบขอมลทเกบอยใน DataSet ไดมากกวาใน DataReader

Page 44: ASP.NET with C#sci.udru.ac.th/websci/download/com/rewadee/programweb/ADO.pdf · อ.เรวดี พิพัฒน์สูงเนิน ADO.NET (Disconnected) •คลาสกลุ่มนี้

อ.เรวด พพฒนสงเนน

DataReader vs DataSet (ตอ)• ออบเจกต DataReader เกดจากสถาปตยกรรม Connected

หมายถง มการเชอมตอกบฐานขอมลตลอดเวลา ดงนนเมอใชงานออบเจกต DataReader เสรจแลว ตองควบคมการเปด-ปด ออบเจกต DataReader เองทงหมด เพราะไมสามารถเปดออบเจกต DataReader ไดเกน 1 ครงในเวลาเดยวกน

• ออบเจกต DataSet เกดจากสถาปตยกรรม Disconnectedหมายถง เมอควรขอมลมาเกบไวใน DataSet แลว จะตดการเชอมตอกบแหลงขอมลโดยทนท