SlideShare a Scribd company logo
1 of 25
Download to read offline
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 = ComputerNameserverName;
Database=databasName; Integrated Security=true
Server = ComputerNameserverName;
Database=databasName; User ID=UserName;
Password = password
Server = ComputerNameserverName;
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

More Related Content

More from let's go to study

More from let's go to study (20)

Rs instructor ppt_chapter11_final
Rs instructor ppt_chapter11_finalRs instructor ppt_chapter11_final
Rs instructor ppt_chapter11_final
Β 
Ch10
Ch10Ch10
Ch10
Β 
Before beginning
Before beginningBefore beginning
Before beginning
Β 
Chapter 8 (security)
Chapter 8 (security)Chapter 8 (security)
Chapter 8 (security)
Β 
Chapter 6 (data binding)
Chapter 6 (data binding)Chapter 6 (data binding)
Chapter 6 (data binding)
Β 
Chapter 5 (master page)
Chapter 5 (master page)Chapter 5 (master page)
Chapter 5 (master page)
Β 
Chapter 4 (navigater)
Chapter 4 (navigater)Chapter 4 (navigater)
Chapter 4 (navigater)
Β 
Chapter 3 (validation control)
Chapter 3 (validation control)Chapter 3 (validation control)
Chapter 3 (validation control)
Β 
Chapter 1 (asp.net over view)
Chapter 1 (asp.net over view)Chapter 1 (asp.net over view)
Chapter 1 (asp.net over view)
Β 
Before beginning
Before beginningBefore beginning
Before beginning
Β 
Sadchap04
Sadchap04Sadchap04
Sadchap04
Β 
Sadchap03
Sadchap03Sadchap03
Sadchap03
Β 
Sadchap02
Sadchap02Sadchap02
Sadchap02
Β 
Sadchap01
Sadchap01Sadchap01
Sadchap01
Β 
database design process
database design processdatabase design process
database design process
Β 
009 sql server management studio
009 sql server management studio009 sql server management studio
009 sql server management studio
Β 
007 sql server-installation
007 sql server-installation007 sql server-installation
007 sql server-installation
Β 
Chapter 2-html-tage
Chapter 2-html-tageChapter 2-html-tage
Chapter 2-html-tage
Β 
Chapter 0 before you start
Chapter 0   before you startChapter 0   before you start
Chapter 0 before you start
Β 
Java 2 chapter 10 - basic oop in java
Java 2   chapter 10 - basic oop in javaJava 2   chapter 10 - basic oop in java
Java 2 chapter 10 - basic oop in java
Β 

Chapter 7 (ado.net)

  • 1. CHAPTER 7 ADO.NET A S P . N E T 1
  • 2. 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
  • 3. 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
  • 4. DataSource ο‚— αž˜αž»αž“αž…αŸ’αž–αž›αž…αžΆαž”αŸ‹αž…αŸ’αž•αŸ’αžαžΎαž˜αž…αŸ’αž”αŸ’αž”αžΎ ADO.NET αž…αŸ’ αžΎαž„αž”αŸ’αžαžΌαžœαžŸαž…αŸ’αž”αŸ’αž˜αž… αž…αž·αžαžαž‡αžΆαž˜αž»αž“ αžαžΆαž…αŸ’αžαžΎαž…αŸ’ αžΎαž„αž“αžΉαž„αž…αŸ’αž”αŸ’αž”αžΎαž”αŸ’αžΆαžŸαŸ‹ DataSouce មួ αžŽαžΆαŸ” ο‚— DataSource αžŠαŸ‚αž›αž…αŸ’αž‚αž…αŸ’αž”αŸ’αž”αžΎαžΆαž“αŸ‚αžΌαž…αž‡αžΆ ο‚‘ Ms Access ο‚‘ SQL Server ο‚‘ Oracle ο‚‘ And others Hor Sonoeun 4 ASP.NET
  • 5. 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
  • 6. Using SQL DataSource ο‚— αž…αŸ’αŸ…αž€αž“αž»αž„αž€αžΆαžšαžŸαž·αž€αžΆαž…αŸ’αž“αŸαŸ‡ αž…αŸ’ αžΎαž„αž€αŸ†αžŽαžαŸ‹ αž€ DataSource αž˜αž€αžŸαž·αž€αžΆαŸ” ο‚— αž‡αžΆαž˜αž½ SQL DataSource αž…αŸ’ αžΎαž„αž”αŸ’αžαžΌαžœ import NameSpace αžšαž”αžŸαŸ‹ sqlClient αŸ‚αžΌαž…αžαžΆαž„αž…αŸ’αž”αŸ’αž€αžΆαž˜αŸ– ο‚— αž”αž“αžΆαžΆ αž”αŸ‹αž–αžΈαž…αŸ’ αžΎαž„ import NameSpace αžšαž½αž…αž…αŸ’ ើ αž…αŸ’ αžΎαž„αž“αžΉαž„ αž‘αŸ’αž½αž›αžΆαž“ sql classes αž…αŸ’αŸ‚αžΎαž˜αž”αžΈαž”αž…αŸ’αž„αž€αžΎαž objects αž…αŸ’αž•αŸ’αŸαž„αŸ—αŸ‚αžΌαž… αž‡αžΆαŸ– Hor Sonoeun 6 ASP.NET System.Data.SqlClient
  • 7. Using SQL DataSource ο‚‘ sqlConnection : αž…αŸ’αŸ‚αžΎαž˜αž”αžΈαž”αž…αŸ’αž„αž€αžΎαž connection αž…αŸ’αŸ…αž€αžΆαž“αŸ‹ Database αžšαž”αžŸαŸ‹ SQL ServerαŸ” ο‚‘ sqlCommand : αž…αŸ’αŸ‚αžΎαž˜αž”αžΈαž•αŸ’αžΆαž»αž€ SQL Query αžŠαŸ‚αž›αž…αŸ’ αžΎαž„ αž”αŸ’αžαžΌαžœαž”αŸ’αž”αžαž·αž”αžαžαž·αž…αŸ’αŸ…αž€αžΆαž“ Database αžšαž”αžŸαŸ‹ SQL ServerαŸ” ο‚‘ sqlDataReader : αžŸαŸ’αžŸαž…αŸ’αŸ‚αŸ€αž„αž“αžΉαž„ RecordSet αž”αž»αžŠαž“αž sqlDataReader αžΆαž“αž“αžΆαž‘αŸ’αžΈαž”αŸ’αžαžΉαž˜αžŠαžαž’αžΆαž“ αž…αŸ’ ើ αž’αžΆαž“αž˜αžαž„ αžΆαž“αžŠαžαž˜αž½ recordαŸ” Hor Sonoeun 7 ASP.NET
  • 8. Connecting to SQL DataSource ο‚— αž…αŸ’αŸ‚αžΎαž˜αž”αžΈαž—αžΆαžΆ αž”αŸ‹αž…αŸ’αŸ…αž€αžΆαž“αŸ‹ Database αžšαž”αžŸαŸ‹ SQL Server αž…αŸ’αž‚ αžΆαž“αžšαžΌαž”αž˜αž“αžαŸ‚αžΌαž…αžαžΆαž„αž…αŸ’αž”αŸ’αž€αžΆαž˜αŸ– ο‚‘ αžŸαž”αŸ’αžΆαž”αŸ‹ Window Authentication ο‚‘ αžŸαž”αŸ’αžΆαž”αŸ‹ SQL Authentication Hor Sonoeun 8 ASP.NET Server = ComputerNameserverName; Database=databasName; Integrated Security=true Server = ComputerNameserverName; Database=databasName; User ID=UserName; Password = password Server = ComputerNameserverName; Database=databasName; Integrated Security=true
  • 9. 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
  • 10. 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”)
  • 11. 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
  • 12. 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
  • 13. 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()
  • 14. 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
  • 15. 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
  • 16. 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)
  • 17. 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
  • 18. 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>
  • 19. 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>
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. Database Authentication ο‚— αž€αž“αž›αž„αž˜αž€αž…αŸ’ αžΎαž„αž…αŸ’αž”αŸ’αž”αžΎ Window Authentication αž…αŸ’αŸ‚αžΎαž˜αž”αžΈ Log αž…αžΌαž›αž…αŸ’αŸ… Database. ο‚— αž…αŸ’αŸ‚αžΎαž˜αž”αžΈ Log αž…αžΌαž›αž…αŸ’αŸ„ αž€αžΆαžšαž…αŸ’αž”αŸ’αž”αžΎ SQL Authentication αž…αŸ’ αžΎαž„αž”αŸ’αžαžΌαžœαžΆαž“ User αž“αž·αž„ Login αžšαž”αžŸαŸ‹ SQLαŸ” ο‚— αž…αŸ’ ើ αž”αŸ’αžαžΌαžœαž”αŸ’αžΆαž€αŸ‚αž€αž“αž»αž„αž…αž·αžαžαžαžΆαž’αž“αž€αžΆαž“αž•αŸ’αžαž›αŸ‹αžŸαž·αž‘αŸ’αž’αž·αž²αŸ’αž™ user αž…αŸ’αž“αžΆαŸαŸ‡αžΆαž“αž”αŸ’αžαžΉαž˜αž”αŸ’αžαžΌαžœαž…αŸ’ ើ αŸ” ο‚— αž§αž‘αžΆ រណ៏ αž…αŸ’ αžΎαž„αžΆαž“αž”αž…αŸ’αž„αž€αžΎαž Login αž“αž·αž„ user មួ αž…αŸ’αŸ’αž˜ αŸαŸ‡ β€œnoeun” αžΆαž“ password=β€œ123456” Hor Sonoeun 23 ASP.NET
  • 24. 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