25
CHAPTER 7 ADO.NET ASP.NET 1

Chapter 7 (ado.net)

Embed Size (px)

Citation preview

CHAPTER 7

ADO.NET

A S P . N E T 1

Introduction

ActiveX Data Objects.NET គឺជាបច្ចេកវជិាា របស់ Microsoft ដែលផ្តល់លទ្ធភាពឲ្យច្ ើង Access ច្ៅកាន់ Database ពី Applications។

ADO.NET គឺជាប្បច្េទ្ Disconnect Object Model. ADO.NET គឺជាបច្ចេកវជិាា ថ្មីសប្ាប់ជំនាន់ .NET framework ដែលអនុញ្ញា តឲ្យ Users ច្ប្ចើនអាច connect ច្ៅកាន់ Database កនុងច្ពលដតមួ ។

Hor Sonoeun

2

ASP.NET

ADO.NET Objects

ADO.NET class ាន Objects ជាច្ប្ចើនច្ែើមបីបច្ងកើតទំ្នាក់ទំ្នងរវាង Database និង Application ែូចជា៖ Connection Object Command Object DataReader Object DataSet Object DataTable Object DataView Object DataAdapter Object

Hor Sonoeun

3

ASP.NET

DataSource

មុនច្ពលចាប់ច្ផ្តើមច្ប្បើ ADO.NET ច្ ើងប្តូវសច្ប្មចចិតតជាមុន ថាច្តើច្ ើងនឹងច្ប្បើប្ាស់ DataSouce មួ ណា។

DataSource ដែលច្គច្ប្បើានែូចជា Ms Access SQL Server Oracle And others

Hor Sonoeun

4

ASP.NET

Six Steps to Connect to DataSource

1. Import NameSpace ដែលចំាាច់ 2. ភាា ប់ Connection ច្ោ ការច្ប្បើ sqlConnection Object 3. បច្ងកើត SQL Query ច្ោ ការច្ប្បើ sqlCommand Object 4. ច្បើក Connection ច្ែើមបី Execute SQL Query ច្ែើមបី

ទាញ កលទ្ធផ្ល បញ្េូ លច្ៅកនុង sqlDataReader Object

5. បង្ហា ញលទ្ធផ្លពី sqlDataReader ច្ៅច្លើ Web page 6. បិទ្ connection ច្ៅកាន់ Database

Hor Sonoeun

5

ASP.NET

Using SQL DataSource

ច្ៅកនុងការសិកាច្នេះ ច្ ើងកំណត់ ក DataSource មកសិកា។

ជាមួ SQL DataSource ច្ ើងប្តូវ import NameSpace របស់ sqlClient ែូចខាងច្ប្កាម៖

បនាា ប់ពីច្ ើង import NameSpace រចួច្ ើ ច្ ើងនឹងទួ្លាន sql classes ច្ែើមបីបច្ងកើត objects ច្ផ្េងៗែូចជា៖

Hor Sonoeun

6

ASP.NET

System.Data.SqlClient

Using SQL DataSource

sqlConnection : ច្ែើមបីបច្ងកើត connection ច្ៅកាន់ Database របស់ SQL Server។

sqlCommand : ច្ែើមបីផ្ាុក SQL Query ដែលច្ ើងប្តូវប្បតិបតតិច្ៅកាន Database របស់ SQL Server។

sqlDataReader : ស្សច្ែៀងនឹង RecordSet ប ុដនត sqlDataReader ាននាទី្ប្តឹមដតអាន ច្ ើ អានមតងានដតមួ record។

Hor Sonoeun

7

ASP.NET

Connecting to SQL DataSource

ច្ែើមបីភាា ប់ច្ៅកាន់ Database របស់ SQL Server ច្គានរបូមនតែូចខាងច្ប្កាម៖ សប្ាប់ Window Authentication

សប្ាប់ SQL Authentication

Hor Sonoeun

8

ASP.NET

Server = ComputerName\serverName; Database=databasName; Integrated Security=true

Server = ComputerName\serverName; Database=databasName; User ID=UserName; Password = password

Server = ComputerName\serverName; Database=databasName; Integrated Security=true

Connecting to SQL DataSource

ឧទា រណ៏ខាងច្ប្កាមច្ ើងភាា ប់ច្ៅកាន់ Database ច្ ម្ េះ dbSales ដែលច្ ើងានបច្ងកើតកនុងច្មច្រៀនមុន របស់ SQL Server ច្ោ ការច្ប្បើ sqlConnection ជាមួ Window Authentication។

Hor Sonoeun

9

ASP.NET

Imports System.Data.SqlClient Partial Class _Default Inherits System.Web.UI.Page Protected Sub btnOK_Click(…..) Handles btnOK.Click Dim cnn As New SqlConnection("server=Sonoeun-PC; Database=dbSales; Integrated Security=True") ………………….. End Sub End Class

Creating SQL Query (sqlCommand)

បនាា ប់ពីច្ ើងានភាា ប់ Connection ច្ ើ ច្ ើងនឹងចាប់ច្ផ្តើមបច្ងកើត SQL Query ច្ោ ការច្ប្បើ sqlCommand class សប្ាប់ច្ោលបំណងរបស់ច្ ើងែូចជា Insert Delete Update រ ឺselect ជាច្ែើម។

របូមនតទូ្ច្ៅ

Hor Sonoeun

10

ASP.NET

Dim commandName As New SqlCommand (“SQL Query”)

INSERT

បច្ងកើត SQL Query ច្ែើមបីបញ្េូ លទិ្ននន័ ច្ៅកនុង Table ច្ ម្ េះ tblSales។

Hor Sonoeun

11

ASP.NET

Protected Sub btnOK_Click(……) Handles btnOK.Click Dim cnn As New SqlConnection("server=Sonoeun-PC; " & _ “Database=dbSales; Integrated Security=True")

Dim cmd As New SqlCommand("Insert into tblSales Values " & _ "(@salId, @emId, @proName, @sDate, @Quty, @UPrice)", cnn) cmd.Parameters.Add("@salId", System.Data.SqlDbType.NChar) cmd.Parameters("@salId").Value = txtSalId.Text

INSERT

Hor Sonoeun

12

ASP.NET

cmd.Parameters.Add("@emId", System.Data.SqlDbType.NChar) cmd.Parameters("@emId").Value = txtEmId.Text cmd.Parameters.Add("@proName", System.Data.SqlDbType.NVarChar) cmd.Parameters("@proName").Value = drpProName.SelectedItem.Value cmd.Parameters.Add("@sDate", System.Data.SqlDbType.DateTime) cmd.Parameters("@sDate").Value = CalSalDate.SelectedDate cmd.Parameters.Add("@Quty", System.Data.SqlDbType.Int) cmd.Parameters("@Quty").Value = txtQuty.Text cmd.Parameters.Add("@UPrice", System.Data.SqlDbType.Decimal) cmd.Parameters("@UPrice").Value = txtUPrice.Text cnn.Open() cmd.ExecuteNonQuery() cnn.Close() End Sub

Searching for an Item

បច្ងកើត SQL Query ច្ែើមបីដសែងរកទិ្ននន័ ច្ៅកនុង Table ច្ ម្ េះ tblSales តាមរ ៈ sale id។

Hor Sonoeun

13

ASP.NET

Protected Sub btnSearch_Click(…) Handles btnSearch.Click Dim aSale As SqlDataReader Dim cnn As New SqlConnection("server=Sonoeun-PC;” & _ Database=dbSales; Integrated Security=True") Dim cmd As New SqlCommand("Select * From " & _ " tblSales Where SalId=@SalId", cnn) cmd.Parameters.Add("@salId", System.Data.SqlDbType.NChar) cmd.Parameters("@salId").Value = txtSalId.Text cnn.Open()

Searching for an Item

Hor Sonoeun

14

ASP.NET

aSale = cmd.ExecuteReader() If aSale.Read() Then txtPro.Text = aSale.Item("proName") txtQuty.Text = aSale.Item("Quty") txtUPrice.Text = aSale.Item("UPrice") txtSalDate.Text = aSale.Item("sDate") txtEmploee.Text = aSale.Item("emId") End If aSale.Close() cnn.Close() End Sub

DELETE

បច្ងកើត SQL Query ច្ែើមបីលុបទិ្ននន័ ពី Table ច្ ម្ េះ tblSales ដែលាន SalId ប្តូវានបញ្េូ លច្ៅកនុង Sale ID។

Hor Sonoeun

15

ASP.NET

Protected Sub btnOK_Click(……) Handles btnOK.Click Dim cnn As New SqlConnection("server=Sonoeun-PC;” & _ Database=dbSales; Integrated Security=True") Dim cmd As New SqlCommand("Delete From " & _ " tblSales Where SalId=@SalId", cnn) cmd.Parameters.Add("@SalId", System.Data.SqlDbType.NChar) cmd.Parameters("@SalId").Value = txtSalId.Text cnn.Open() cmd.ExecuteNonQuery() cnn.Close() End Sub

UPDATE

បច្ងកើត SQL Query ច្ែើមបីដកដប្បទិ្ននន័ ច្ៅកនុង Table ច្ ម្ េះ tblSupliers។

Hor Sonoeun

16

ASP.NET

Protected Sub btnUpdate_Click(…) Handles btnUpdate.Click Dim cnn As New SqlConnection("server=Sonoeun-PC;” & _ Database=dbSales; Integrated Security=True") Dim cmd As New SqlCommand("Update tblSupliers" & _ " Set supName=@supName, " & _ " supCountry=@supCountry Where SupId=@SupId", cnn)

UPDATE

Hor Sonoeun

17

ASP.NET

cmd.Parameters.Add("@SupId", System.Data.SqlDbType.NChar) cmd.Parameters("@SupId").Value=txtSupId.Text cmd.Parameters.Add("@supName", System.Data.SqlDbType.NChar) cmd.Parameters("@supName").Value=txtSupName.Text cmd.Parameters.Add("@supCountry", System.Data.SqlDbType.NVarChar) cmd.Parameters("@supCountry").Value=txtSupCountry.Text cnn.Open() cmd.ExecuteReader() cnn.Close() End Sub

SELECT

បច្ងកើត SQL Query ច្ែើមបីទាញ កទិ្ននន័ ពី Table ច្ ម្ េះ tblEmployees មកោក់ច្លើ Web page ច្ោ ការច្ប្បើ Repeater Control។

Repeater Control ានទ្ប្មង់ែូចខាងច្ប្កាម៖

Hor Sonoeun

18

ASP.NET

<asp:Repeater ID="rptDisEmp" runat="server"> <HeaderTemplate> </HeaderTemplate> <ItemTemplate> </ItemTemplate> <FooterTemplate> </FooterTemplate> </asp:Repeater>

SELECT

ច្នេះគឺជា Repeater សប្ាប់បង្ហា ញពត៌ានរបស់ Employees

Hor Sonoeun

19

ASP.NET

<asp:Repeater ID="rptDisEmp" runat="server"> <HeaderTemplate> <table width=80% border=1> <tr> <th>Employee ID</th> <th>Employee Name</th> <th>Employee Sex</th> <th>Employee DOB</th> </tr> </HeaderTemplate>

<ItemTemplate> <tr> <td><%#Eval("emId")%></td> <td><%#Eval("emName")%></td> <td><%#Eval("emSex")%></td> <td><%#Eval("emODB")%></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater>

SELECT

ច្នេះគឺជា Behind Code ច្ៅច្ពលដែលអនកចុចច្លើ ប ូតុង btnDisplay

Hor Sonoeun

20

ASP.NET

Protected Sub btnDisplay_Click(…) Handles btnDisplay.Click Dim anEmp As SqlDataReader Dim cnn As New SqlConnection("server=Sonoeun-PC;” &_ “Database=dbSales; Integrated Security=True") Dim cmd As New SqlCommand("Select * From tblEmployees ", cnn) cnn.Open() anEmp = cmd.ExecuteReader() rptDisEmp.DataSource = anEmp rptDisEmp.DataBind() anEmp.Close() cnn.Close() End Sub

Executing SQL Query

ច្ែើមបីច្ ែ្ើការ Execute SQL Query, ADO.NET ផ្តល់នូវ Execute command ែូចជា ExecuteReader: សប្ាប់បញ្េូ ល ទិ្ននន័ ជា Record(s) រ ឺRow(s) ពី Select SQL Query ជា Object.

ExecuteScalar: សប្ាប់បញ្េូ ល ទិ្ននន័ Single Value ពី Select SQL Query ច្ៅកនុង SqlDataReader Object.

ExecuteNonQuery: គឺជា Execute method មួ ដែលច្គច្ប្បើច្ៅច្ពលច្គ Execute Insert, Modify, រ ឺUpdate SQL Query.

Hor Sonoeun

21

ASP.NET

Database Authentication

ចំណុចច្នេះច្ ើងនឹងនិយា អំពីមច្្ោា ច្ែើមបីភាា ប់ រកឺារផ្តល់សិទ្ធិ ច្ែើមបី log ចូលច្ៅកនុង database។

Database authentication សប្ាប់ SQL Server ានពីរគឺ៖ Window Authentication គឺជាការអាស្ស័ ច្លើ user របស់ window ច្ែើមបី log ចូលកនុង Database.

SQL Server Authentication គឺជាការអាស្ស័ ច្លើ user របស់ SQL ច្ែើមបី log ចូលកនុង Database.

Hor Sonoeun

22

ASP.NET

Database Authentication

កនលងមកច្ ើងច្ប្បើ Window Authentication ច្ែើមបី Log ចូលច្ៅ Database.

ច្ែើមបី Log ចូលច្ោ ការច្ប្បើ SQL Authentication ច្ ើងប្តូវាន User និង Login របស់ SQL។

ច្ ើ ប្តូវប្ាកែកនុងចិតតថាអនកានផ្តល់សិទ្ធិឲ្យ user ច្នាេះានប្តឹមប្តូវច្ ើ ។

ឧទា រណ៏ច្ ើងានបច្ងកើត Login និង user មួ ច្ ម្ េះ “noeun” ាន password=“123456”

Hor Sonoeun

23

ASP.NET

Database Authentication

ច្ពលច្នាេះច្ ើងអាចសរច្សរ connect ច្ៅកាន់ Database ច្ ម្ េះ dbSales ែូចខាងច្ប្កាម៖

Hor Sonoeun

24

ASP.NET

Imports System.Data.SqlClient Partial Class _Default Inherits System.Web.UI.Page Protected Sub btnOK_Click(…..) Handles btnOK.Click Dim cnn As New SqlConnection("server=Sonoeun-PC; Database=dbSales; User Id=noeun Password=123456") ………………….. End Sub End Class

ADO.NET

End! Hor Sonoeun

25

ASP.NET