Sei sulla pagina 1di 83

ADO.

NET
Lng Tr n Hy Hi n hienlth@hcmup.edu.vn

N i dung
ADO.NET S l c l ch s pht tri n Ki n trc ADO.NET .NET Data Provider DataSet H i & p

Gi i thi u ADO.NET
ActiveX Data Object .NET (ADO.NET)
Cng ngh c a MS Pht tri n t n n t ng ADO Cung c p cc l p i t ng v hm th vi n ph c v cho vi c k t n i v x l d li u

ADO.NET .NET Application

Gi i thi u ADO.NET
M hnh .NET Framework
Microsoft .NET Framework

Web Services

User Interface

Data and XML ADO.NET XML Base Classes Common Language Runtime ... ...

N i dung
ADO.NET

S l c l ch s pht tri n Ki n trc ADO.NET .NET Data Provider DataSet H i & p

S l c l ch s
Native API

pht tri n
DB API DB API DB API

Application Database

Open DataBase Connectivity ataB


DB API

Driver
ODBC API

DB API DB API

ODBC

Driver Driver

Application Database
6

S l c l ch s
OLEDB v ADO

pht tri n (cont)


Provider

ADO OLE DB Application

Provider

Non-Relational Data
Provider Provider

Driver

ODBC Driver
Driver

Relational Data

OLE: Object Linking and Embedding


7

S l c l ch s pht tri n (cont)


ADO.NET

Introduction

Stored into

Database (Oracle, SQL Server)

ADO.NET
Client Data access technology
9

ADO.NET architecture

XML XML
Database
10

ADO.NET (tt)
H tr b i .Net Platform S d ng cng ngh XML chuy n i d li u. Tng tc v i t t c cc lo i c s d li u. Kh nng th c thi nhanh. S d ng cho cc lo i ng d ng client-server.

11

N i dung
ADO.NET S l c l ch s pht tri n Ki n trc ADO.NET .NET Data Provider DataSet H i & p

12

Ki n trc
Connected Model

Chng trnh

Disconnected Model

Chng trnh
13

ADO.NET
ADO.NET l m t ph n c a .NET Framework
Th vi n l p c ch c nng x l d li u trong ngn ng MS.NET

ADO.NET l d ng Disconnected Disconnected


Cho php l y c m t c u trc ph c t p c a DL t CSDL, sau ng t k t n i r i m i th c hi n thao tc x l Tr c y ADO lun ph i duy tr k t n i trong qu trnh thi t k

14

ADO.NET
ADO.NET m nh m
K th a cc u i m c a ADO K t h p v i t ng thi t k hon ton m i

c i m n i b t
Thi t k hon ton d a vo XML
Chu n giao ti p d li u t t nh t trn mi tr ng Internet hi n nay

Thi t k hon ton h ng i t ng


c trng c a th vi n .NET Framework

15

ADO.NET vs. ADO


c im
DL x l c a vo b nh di dng Duyt d liu

ADO
Recordset : tng ng 1 bng d liu trong database Recordset ch cho php duyt tun t, tng dng mt. Recordset thin v hng kt ni, nn vic h tr ngt kt ni khng mnh Kh nng trao i d liu ADO qua Internet thng c nhiu hn ch. Do dng chun COM

ADO.NET
Dataset : tng ng 1 database

Dataset : duyt t do, ngu nhin, truy cp thng ti bng, dng ,ct mong mun. Dataset h tr hon ton ngt kt ni

D liu ngt kt ni

Trao i d liu qua Internet

ADO.NET trao i d liu qua Internet rt d dng v ADO.NET c thit k theo chun XML, l chun d liu chnh c s dng trao i trn Internet.

16

Mi tr ng connected
M i user c m t k t n i c nh t i data source u i m
Mi tr ng c b o v t t Ki m sot c s ng b D li u lun c m i

Nh c
Ph i c m t k t n i m ng c nh Scalability

17

Mi tr ng disconnected
M t t p con c a d li u trung tm c sao chp v b sung c l p, sau s c merge l i vo d li u trung tm. u i m
C th lm vi c b t c lc no, cng nh c th k t n i b t k vo Data Source Cho php user khc c th k t n i Nng cao hi u su t th c hi n c a ng d ng

Khuy t
D li u khng c c p nh t m t cch nhanh nh t S tranh ch p c th xu t hi n v ph i gi i quy t
18

ADO.NET
Ki n trc c a ADO.NET g m 2 ph n chnh Ph n k t n i s d ng khi k t n i CSDL v thao i: tc d li u, ph i th c hi n k t n i khi thao tc
Connection: Connection qu n l vi c ng m DB ???Connection: SqlConnection, OleDbConnection Command: Command l nh truy v n, tng tc d li u khi ang l p k tn i ???Command: SqlCommand, OleDbCommand DataReader: DataReader c d li u, ch x l 1 dng d li u t i m t th i i m ???DataReader: SqlDataReader, OleDbDataReader DataAdapter: DataAdapter c u n i gi a DB v DataSet
19

ADO.NET
Ph n ng t k t n i l DataSet i:
DataSet khng quan tm n Database thu c ki u g, v l y d li u t DataAdapter x l DataSet xem nh m t Database trong b nh : b ng, quan h DataSet c cc thnh ph n con nh
DataTable DataRow DataColumn DataRelation Cc i t ng nhm: DataTableCollection, DataRowCollection, DataColumnCollection
20

M hnh i t ng ADO.NET

21

Namespace
System.Data All generic data access classes System.Data.Common Classes shared (or overridden) by individual data providers System.Data.Odbc ODBC provider classes System.Data.OleDb OLE DB provider classes System.Data.ProviderBase New base classes and connection factory classes System.Data.Oracle Oracle provider classes System.Data.Sql New generic interfaces and classes for SQL Server data access System.Data.SqlClient SQL Server provider classes System.Data.SqlTypes SQL Server data types

22

Cc l p th vi n ADO.NET
System.Data.OleDb: Access, SQL Server, Oracle System.Data.SqlClient: SQL Server System.Data.OracleClient: Oracle c i m:
C ba th vi n trn v giao ti p l p trnh l gi ng nhau Dng th vi n SqlClient truy xu t SQL Server nhanh hn OleDb Tng t cho OracleClient

23

N i dung
ADO.NET S l c l ch s pht tri n Ki n trc ADO.NET .NET Data Provider DataSet H i & p

24

Database-Specific Classes
IDbCommand Used as wrappers for SQL statements or stored procedure calls. IDbCommandBuilder Used to generate SQL commands (such as INSERT, UPDATE, and DELETE statements) from a SELECT statement. IDbConnection Used to connect to the database. Similar to an ADO Connection. IDbDataAdapter Used to hold select, insert, update, and delete commands, which are then used to populate a DataSet and update the Database. IDbDataReader Used as a forward only, connected data reader. IDbParameter Used to define a parameter to a stored procedure. IDbTransaction Used for a database transaction, wrapped in an object.
25

.NET Data Provider


Cc thnh ph n .NET Data Provider

.NET Data Provider


???Connection
???Transaction

???DataAdapter
SelectCommand

???Command
Parameters ???Parameter

InsertCommand

UpdateCommand

???DataReader

DeleteCommand 26

Connected Model
K t n i vo CSDL Th c hi n l nh
Thm/Xa/S a d li u c d li u t CSDL

27

Connected Model
K t n i vo CSDL
Cc l p ph trch k t n i
ODBCConnection OleDBConnection SqlConnection OracleConnection

Thu c tnh quan tr ng


ConnectionString: xc nh ngu n d li u c n k t n i

Phng th c quan tr ng
Open: m k t n i Close: ng k t n i

28

.NET Data Provider - Connection


Connection Application Data Source

Cc i t ng Connection tun th IDbConnection interface.


ConnectionString: lo i Data Source c n k t n i. Open(): thi t l p k t n i n Data Source. Close(): ng t k t n i n Data Source.

29

.NET Data Provider Connection (cont)


K t n i vo CSDL Access
OleDbConnection cnn = new OleDbConnection(); cnn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=QLHS.mdb"; cnn.Open(); //Cc lnh cn thc hin cnn.Close();

30

.NET Data Provider Connection (cont)


K t n i vo CSDL SQL Server:
SqlConnection cnn = new SqlConnection(server= HIENLTH-PC\\SQLEXPRESS; database = QLHS; user id=sa; password=sa); cnn.Open(); // Th c hi n truy v n d li u cnn.Close();

31

SQL2005 ConnectionString
Theo c quy n c a SQL Server (c user, pass):
server= HIENLTH-PC\SQLEXPRESS; database = QLHS; user id=sa; password=sa

Theo c quy n c a h i u hnh:


server= HIENLTH-PC\SQLEXPRESS; database = QLHS; Trusted Connection = True; server= HIENLTH-PC\SQLEXPRESS; database = QLHS; Integrated Security = True;

32

T p tin lu tr

k tn i

Cho php ng i dng c th c u hnh cc gi tr thu c tnh cho chu i k t n i CSDL. Th ng c d ng *.ini, *.txt. T .NET 1.0 tr ln c th s d ng t p tin App.config ( nh d ng XML) ch a khai bo cc tham s cng gi tr v cc ch th khc. V d : T p tin DBConfig.ini

33

c thng tin t p tin lu tr n i

k t

Lo i *.ini, *.txt s d ng StreamReader (using System.IO)


StreamReader docfile = new StreamReader(@"DBConfig.ini"); servername = Tach(docfile.ReadLine()); databasename = Tach(docfile.ReadLine()); username = Tach(docfile.ReadLine()); password = Tach(docfile.ReadLine());

34

c thng tin t p tin lu tr n i


Lo i App.config

k t

<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="SqlServer" connectionString="server=HIENLTHPC\sqlexpress;database=SEQLHS;integrated security=true" providerName="System.Data.SqlClient"/> </connectionStrings> </configuration>

35

c thng tin t p tin lu tr n i


Lo i App.config:

k t

connectionstring = ConfigurationManager.ConnectionStrings[tn]. ConnectionString;


V d :

con.ConnectionString =
ConfigurationManager.ConnectionStrings[SqlServer "]. ConnectionString;

36

.NET Data Provider - Command

011010011 Connection 011010011 Application Data Source

Command

37

.NET Data Provider - Command


Cc i t ng Command tun th IDbCommand interface.
Connection: k t n i dng th c hi n cu l nh. CommandText: cu l nh SQL c n th c hi n trn Data Source. CommandType: lo i cu l nh trong CommandText (Text, TableDirect, StoredProc). ExecuteScalar(): th c hi n cu l nh trong CommandText, k t qu tr v l m t gi tr n. ExecuteNonQuery(): th c hi n cu l nh trong CommandText v khng c k t qu tr v . ExecuteReader(): th c hi n cu l nh trong CommandText, k t qu tr v l m t DataReader.

38

Command (cont) SQL Server


SqlConnection cnn = new SqlConnection(server=HIENLTHPC\\SQLEXPRESS; database=QLHS; user id=sa; password=sa); SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; cmd.CommandText = SELECT COUNT(*) FROM HocSinh; cmd.CommandType = CommandType.Text; cnn.Open(); int count = (int)cmd.ExecuteScalar(); cnn.Close();
39

Command (cont) SQL Server


SqlConnection cnn = new SqlConnection(server=HIENLTHPC\SQLEXPRESS; database=QLHS; user id=sa; password=sa); SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; cmd.CommandText = INSERT INTO HocSinh(Ho, Ten, DienThoai) VALUES(NNguy n Vn, NTr ng, 0989366990); cmd.CommandType = CommandType.Text; cnn.Open(); cmd.ExecuteNonQuery(); cnn.Close();

40

Command (cont) MS Access


Th c hi n l nh
Thm/Xa/S a d li u

V d:
OleDbCommand cmd = new OleDbCommand(); cmd.Connection = cnn; cmd.CommandText = INSERT INTO Hocsinh VALUES(5, 'L Vn Xim','11/12/2006', 'Khnh Ha', '221 Nguy n Vn C ')"; cmd.ExecuteNonQuery();

41

.NET Data Provider - Parameter


M c ch s d ng:
M t vi gi tr trong cu l nh ch bi t khi th c hi n cu l nh. C n th c hi n cu l nh nhi u l n v i cc gi tr khc nhau.

Cc b c th c hi n:
Tham s ha cu l nh: ? ho c @[tn tham s ]. T o cc parameters tng ng cho command. t gi tr cho cc parameter m i khi dng command th c hi n cu l nh.

42

.NET Data Provider Parameter(cont)


Tham s ha
SQL Data Provider:
cmd.CommandText = SELECT * FROM HocSinh WHERE tenhocsinh = @ten; cmd.CommandText = INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb) + VALUES(@id, @ten, @dtb);

Cc provider khc:
cmd.CommandText = SELECT * FROM HocSinh WHERE tenhocsinh = ?; cmd.CommandText = INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb) + VALUES(?, ?, ?);
43

.NET Data Provider Parameter(cont)


T o cc parameter
cmd.Parameters.Add(@id, 5); cmd.Parameters.Add(@ten, Nguy n Vn A); cmd.Parameters.Add(@dtb, 8.5);

t gi tr cho cc parameter
foreach (Student s in studentList) { cmd.Parameters[@id] = i; cmd.Parameters[@ten] = s.studentName; cmd.Parameters[@dtb] = s.studentMarks; cmd.ExecuteNonQuery(); }

44

Parameter(cont) MS Access
V d
OleDbCommand cmd = new OleDbCommand(); cmd.Connection = cnn; cmd.CommandText = "INSERT INTO Hocsinh VALUES (@Ma,@Ten,@Diachi,@NgaySinh,@Toan,@Van); OleDbParameter para=cmd.Parameters.Add("@Ma",OleDbType.Integer); para.Value=1; para=cmd.Parameters.Add("@Ten",OleDbType.VarWChar); para.Value= N"L Vn A"; para=cmd.Parameters.Add("@Diachi",OleDbType.VarWChar); para.Value= N"Nguy n Vn C "; para = cmd.Parameters.Add("@Ngaysinh", OleDbType.Date); para.Value = new DateTime(1982,10,1); para=cmd.Parameters.Add("@Toan",OleDbType.Integer); para.Value=5; para=cmd.Parameters.Add("@Van",OleDbType.Integer); para.Value=7; cmd.ExecuteNonQuery();

45

.NET Data Provider DataReader


ExecuteReader() Read() DataReader Application 011010011 Connection 011010011 Data Source

Command
MaHS i HoTen HocSinh I DiaChi DiaChi i

46

.NET Data Provider DataReader


DataReader l g?
Ch di chuy n t i pha tr c, ch c truy c p d li u nhanh, k t n i n ngu n d li u (data source) Qu n l d li u, ho c rng bu c vo i u khi n listbound S d ng ti nguyn

47

.NET Data Provider - DataReader


Cc i t ng DataReader tun th interface IDataReader.
HasRow: cho bi t cn d li u c n a khng. Read(): c m t m u tin vo DataReader. Ton t [ i ]: truy xu t n c t i trong m u tin c c. Close(): ng DataReader.

Lu :
Truy xu t tu n t v khng quay lui. Khng c p nh t d li u. C ch k t n i.

48

.NET Data Provider DataReader (cont)


SqlConnection cnn = new SqlConnection(server=localhost; database=Northwind; user id=sa; password=sa); SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; cmd.CommandText = select * from Orders; cmd.CommandType = CommandType.Text; cnn.Open(); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { MessageBox.Show(dr[CustomerID].ToString()); } dr.Close(); cnn.Close();

49

DataReader (cont) MS Access


Th c hi n l nh
c d li u t CSDL V d OleDbDataReader rd = cmd.ExecuteReader(); while (rd.Read()) { if (!rd.IsDBNull(3)) MessageBox.Show(dr[CustomerID].ToString()); }
50

.NET Data Provider - SqlDataAdapter


B c d li u t CSDL ngu n (SQLServer) v vo i t ng DataSet hay DataTable. Phn trang d li u Phng th c:
Fill(datasource) Fill(datasource, start, number, tablename)

51

.NET Data Provider - DataAdapter


DataAdapter
SelectCommand

DataSet

InsertCommand UpdateCommand

Data Source
DeleteCommand

Cc i t ng DataAdapter tun th interface IDbDataAdapter.


Fill(DataSet): dng SelectCommand l y d li u t Data Source vo DataSet. Update(DataSet): dng InsertCommand, UpdateCommand v DeleteCommand c p nh t d li u trong DataSet vo Data Source.

52

.NET Data Provider DataAdapter (cont)


SqlConnection cnn = new SqlConnection(server=localhost; database=Northwind; user id=sa; password=sa); SqlDataAdapter da = new SqlDataAdapter(select * from Orders, cnn) DataSet ds = new DataSet(); da.Fill(ds); // Does something on the DataSet. da.Update(ds);

53

N i dung
S l c l ch s pht tri n Ki n trc ADO.NET .NET Data Provider DataSet H i & p

54

System.Data namespace
DataSet This object is designed for disconnected use and can contain a set of DataTables and include relationships between these tables. DataTable A container of data that consists of one or more DataColumns and, when populated, will have one or more DataRows containing data. DataRow A number of values, akin to a row from a database table, or a row from a spreadsheet. DataColumn This object contains the definition of a column, such as the name and data type. DataRelation A link between two DataTable classes within a DataSet class. Used for foreign key and master/detail relationships. Constraint This class defines a rule for a DataColumn class (or set of data columns), such as unique values.
55

DataSet
DataSet l g?
nh x DataSet Data Source
DataSet l c s d li u c lu tr trong b nh chnh (in-memory database). C ch khng k t n i.

G m cc i t ng
DataTable DataRelation

56

DataSet (cont)
DataSet
Tables
Columns

DataTable
DataColumn

Rows

DataRow

Relations

DataRelation
57

Cc phng th c c a DataSet
Thm 1 i t ng DataTable: ds.Tables.Add(datatable_name); Xa 1 i t ng:
ds.Tables.Remove(datatable_name); ds.Table.RemoveAt(datatable_index);

Lo i b t t c DataTable: ds.Tables.Clear(); Ki m tra t n t i: ds.Tables.Contains(datatable_name); Ki m tra t n t i v c th xa c: ds.Tables.CanRemove(datatable_name); m s l ng DataTable: ds.Tables.Count (thu c tnh)
58

Cc phng th c c a DataSet
Ghi ra file XML: ds.WriteXml(ten_file_xml); c t file XML: ds.ReadXml(ten_file_xml);

59

DataSet - DataTable
DataTable th hi n m t b ng trong c s d li u. G m cc i t ng:
DataColumn DataRow

Cc thu c tnh v phng th c:


TableName: tn b ng. Columns: danh sch cc c t (DataColumn). Rows: danh sch cc m u tin (DataRow). PrimaryKey: danh sch cc c t lm kha chnh (DataColumn). NewRow(): t o m t m u tin m i.

60

DataSet - DataColumn
DataColumn th hi n m t c t trong b ng. Cc thu c tnh v phng th c:
ColumnName: tn c t. DataType: ki u d li u c t.

61

DataSet - DataRow
DataRow th hi n m t m u tin trong b ng. Cc thu c tnh v phng th c:
RowState: tr ng thi c a m u tin (Added, Modified, Deleted, Unchanged, Detach). Ton t [i]: truy xu t n c t i c a m u tin. Delete(): nh d u xa m u tin.

62

DataSet (cont)
DataTable table = new DataTable(SinhVien); table.Columns.Add(new DataColumn(MSSV, Type.GetType(Int32)); table.Columns.Add(new DataColumn(HoTen, Type.GetType(string)); table.PrimaryKey = new DataColumn[] { table.Columns[MSSV] }; DataRow row = table.NewRow(); row[MSSV] = 123; row[HoTen] = Nguy n Vn A; table.Rows.Add(row);
63

DataSet (cont)
SqlConnection cnn = new SqlConnection(server=HIENLTH-PC\SQLEXPRESS; database=Northwind; user id=sa; password=sa); SqlDataAdapter da = new SqlDataAdapter(select * from Orders, cnn) DataSet ds = new DataSet(); da.Fill(ds); foreach (DataRow row in ds.Tables[0].Rows) row[OrderDate] = DateTime.Now; da.Update(ds);

64

DataSet (cont)
SqlConnection cnn = new SqlConnection(server=HIENLTH-PC\SQLEXPRESS; database=Northwind; user id=sa; password=sa); SqlDataAdapter da = new SqlDataAdapter(select * from Orders, cnn) DataSet ds = new DataSet(); da.Fill(ds); foreach (DataRow row in ds.Tables[0].Rows) if (row[CustomerID].ToString() == Nguy n Vn A) row.Delete(); da.Update(ds);

65

DataSet (cont)
So snh DataSet v DataReader:
T c truy xu t. B nh lu tr . Thu n ti n trong thao tc. C ch k t n i v khng k t n i.

66

DataSet (cont) MS Access


c d li u t CSDL OleDbDataAdapter da = new OleDbDataAdapter( "select * from HocSinh", cnn); DataSet dsHocSinh=new DataSet(); da.Fill(dsHocSinh, "HocSinh"); for (int i = 0; i < dsHocSinh.Tables["HocSinh"].Rows.Count; i++) { listBox1.Items.Add( dsHocSinh.Tables["HocSinh"].Rows[i]["HoTen"].ToString()); }
67

DataSet (cont) MS Access


X l d li u
Thm d li u DataRow newRow; newRow=dsHocSinh.Tables["HocSinh"].NewRow(); newRow[0] = 10; newRow[1] = "L Th B"; dsHocSinh.Tables["HocSinh"].Rows.Add(newRow); Xo d li u dsHocSinh.Tables["HocSinh"].Rows[0].Delete(); Thay i d li u DataRow row = dsHocSinh.Tables["HocSinh"].Rows[1]; row.BeginEdit(); row[0] = 11; row[1] = "L Th C"; row.EndEdit();
68

DataSet (cont) MS Access


C p nh t d li u xu ng CSDL
OleDbCommandBuilder buider = new OleDbCommandBuilder(da); da.Update(dsHocSinh, "HocSinh");

69

Trnh by d li u

70

Nh c l i SqlDataAdapter
SqlDataAdapter c dng i n d li u vo i t ng DataSet, DataTable v c p nh t d li u t hai i t ng ny tr l i d li u ngu n. Cc tr ng h p t o i t ng SqlDataAdapter:
SqlDataAdapter(string SQL, SqlConnection cnn); SqlDataAdapter(SqlCommand cmd);

i n d li u:

sqlDataAdapter.Fill(datasetname); sqlDataAdapter.Fill(datatable); sqlDataAdapter(DataSet dataset, int start, int end); sqlDataAdapter(int start, int end, DataTable datatable);
71

Phn trang

C p nh t d li u t DataAdapter
Trong Form khai bo cc thu c tnh l i t ng DataSet (hay DataTable) L y d li u: d li u vo DataSet dataAdapter.Fill(dataset); C p nh t d li u: C p nh t d li u t DataSet vo CSDL dataAdapter.Update(dataset);

72

DataView
Th hi n c a 1 DataTable. ng vai tr quan tr ng trong DataBinding 1 DataTable c th c nhi u View khc nhau Dng trnh by d li u d i hnh th c l c, s p x p, tm ki m, hi u ch nh v i u h ng d li u trong DataTable

DataView

DataView

DataView

DataTable

73

Khai bo DataView
C th s d ng cc c php sau:
dataView = new DataView(); dataView.Table = dataTable; dataView = new DataView(dataTable); dataView = new DataView(dataTable, sortFilter, sortString, DataViewRowState);

74

DataView
Danh sch cc thu c tnh
Tn AllowDelete AllowEdit AllowNew Item (index) RowFilter Sort Table Count ngha Cho php xa trn th hin Cho php chnh sa Cho php thm mi Ly gi tr value ti column c ch s index Thit lp Expression dng lc row Sp xp tng hoc gim theo column Cho bit view ny c to bi table no Ly s lng mu tin c trong DataView
75

DataView
Danh sch cc phng th c
Tn AddNew Delete(index) ngha Thm mi 1 mu tin Xa mu tin th index

76

77

DataBinding
Hi n th d li u trong DataTable, vo cc control (TextBox, ComboBox, DataGrid, ) G m 2 lo i:
Simple Binding Complex Binding

V d : i n n i dung b ng TonGiao vo ComboBox Tn Gio


DataTable bang = ketnoi.GetDataTable(SELECT * FROM TonGiao); cboTonGiao.DataSource = bang; cboTonGiao.DisplayMember = bang.Columns[1].ToString();//TenTG cboTonGiao.SelectedValue = bang.Columns[0].ToString();//MaTG
78

a d li u vo l i DataGridView

79

i n d

li u vo DataGridView

datagridview.DataSource = datatable; datagridview.DataSource = dataset.Tables[index];

80

DataGridView (tt)
Cc thu c tnh c a DataGridView:
DataSource: i n d li u vo DataGridView CurrentRow: l y m u tin ang ch n CurrentCell: l y ang ch n

Cc bi n c (Event) c a DataGridView:
SelectionChanged: x y ra khi ng i dng di chuy n vo vng d li u DoubleClick

81

N i dung
S l c l ch s pht tri n Ki n trc ADO.NET .NET Data Provider DataSet H i & p

82

Tham kh o
Bi gi ng ADO.NET c a th y Nguy n Minh Huy, H KHTN TpHCM

83

Potrebbero piacerti anche