1. Trang chủ
  2. » Giáo án - Bài giảng

Bài 6: Thiết kê và lập trình web với ASP.NET - Kết buộc dữ liệu với ASP.NET

10 563 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 782,09 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

L p trình và Thi t k Web 2

Bài 6

K t

K t bu c bu c d d li u li u v i v i ASP NET ASP NET

K t

K t bu c bu c d d li u li u v i v i ASP NET ASP NET

Ths Tr n Th Bích H nh

Khoa CNTT

© 2009 Khoa Công ngh thông tin

N i d

N i dung

 K t bu c d K t bu c d li u li u

 DataSource Control

 DataBound Control

 Bi u th c k t bu c d li u

 Tham sô hóa câu truy v n

© 2009 Khoa CNTT - HKHTN

2

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

N i d

N i dung

 K t bu c d K t bu c d li u li u

 DataSource Control

 DataBound Control

 Bi u th c k t bu c d li u

 Tham sô hóa câu truy v n

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

K t

K t b b d lili ii ASP NET ASP NET

K t

K t bu c bu c d d li u li u v i v i ASP.NET ASP.NET

 K t bu c d K t bu c d li u bao g m : li u bao g m : – L y & Hi n th d li u

– S p x p, phân trang, cache d li u – C p nh t, thêm, xóa d li u

Trang 2

K t

K t b b d lili ii ASP NET ASP NET

K t

K t bu c bu c d d li u li u v i v i ASP.NET ASP.NET

 G m 2 lo i control h tr vi c truy xu t d G m 2 lo i control h tr vi c truy xu t d li u : li u :

ObjectDataSource

SqlDataSource

List Controls AdRotator AccessDataSource

XmlDataSource

SiteMapDataSource

DataList DetailsView FormView SiteMapDataSource FormView

GridView Menu

- Không phát sinh giao di n - Phát sinh giao di n

- K t bu cđ n m t

Repeater TreeView

- K t n i v i CSDL

- c ghi d li u

- Làm c u n i trung gian gi a

d li u và controls khác

K t bu cđ n m t DataSourceđ l y d li u thông qua DataSourceID

- Thi t l p Thu c tính khóa thông quaDataKeyNames

© 2009 Khoa CNTT - HKHTN

5

thông qua DataKeyNames

N i d

N i dung

 K t bu c d K t bu c d li u li u

 DataSource Control

 DataBound Control

 Bi u th c k t bu c d li u

 Tham sô hóa câu truy v n

© 2009 Khoa CNTT - HKHTN

6

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

DataSource Control

DataSource Control Ý ngh a s d ng

SqlDataSource K t n i d li u v i MS SQL Server, OLE DB, ODBC,

Oracle,

ObjectDataSource K t n i d li u v i các đ i t ng nghi p v , l p đ i

t ng, AccessDataSource K t n i d li u v i MS Access

XmlDataSource K t n i d li u v i t p tin XML

XmlDataSource K t n i d li u v i t p tin XML

SiteMapDataSource K t n i d li u v i t p tin Sitemap

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

DataSource Control DataSource Control Connection Connection

Trang 3

D t S C t l

DataSource Control

DataSource Control – – Web.config Web.config

<? l i "1 0"?>

<?xml version="1.0"?>

<configuration>

<appSettings/>

< ti St i >

<connectionStrings>

<add name=“QLTV_CnnString”

connectionString="Data Source=.\SQLEXPRESS;

AttachDbFilename=|DataDirectory|\QLTV.mdf;

Integrated Sec rit Tr e Integrated Security=True;

User Instance=True"

providerName="System.Data.SqlClient" />

<add name "AdventureWorks CnnString“

<add name="AdventureWorks_CnnString“

connectionString="Data Source=SECURITYAGENT\;

Initial Catalog=AdventureWorks;

User ID=sa;Password=sa"

providerName "System Data SqlClient" />

providerName="System.Data.SqlClient" />

</connectionStrings>

</configuration>

© 2009 Khoa CNTT - HKHTN

9

D t S C t l S lD t S S lD t S DataSource Control

DataSource Control SqlDataSource SqlDataSource

<body>

<form id="form1" runat="server">

<div>

<asp:SqlDataSource ID ="SqlDataSource1" runat="server"

ConnectionString="<%$ ConnectionStrings:AdventureWorks_CnnString %>“ SelectCommand="SELECT [ContactID], [CreditCardID], [ModifiedDate] FROM [ContactCreditCard]">

</asp:SqlDataSource>

</div>

</form>

</body>

© 2009 Khoa CNTT - HKHTN

10

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

DataSource Control

DataSource Control – – Thi Thi tt ll p p câu câu truy truy v v n n SQL SQL

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

N i d

N i dung

 K t bu c d K t bu c d li u li u

 DataSource Control

 DataBound Control

 Bi u th c k t bu c d li u

 Tham sô hóa câu truy v n

Trang 4

D t B d C t l

DataBound Control

GridView Hi n th d li u d i d ng b ng , cho phép s p x p trên

c t, phân trang d li u, c p nh t ho c xóa d li u

DetailsView Hi n th m t dòng d li u t i m t th i đi m d i d ng

b ng , cho phép phân trang, c p nh t ho c xóa d li u

FormView Gi ng DetailsView, hi n thi d i d ng Form , cho phép

đ nh ngh a View t các control và k t bu c d li u cho các control

DataList Hi n th d li u d i d ng danh sách Cho phép thay

đ i layout hi n th nhi u c t

Repeater Hi n th d li u d i d ng danh sách T đ nh ngh a

cách th c hi n th (Template)

© 2009 Khoa CNTT - HKHTN

13

G id Vi Grid View

© 2009 Khoa CNTT - HKHTN

14

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

D t il Vi

Details View

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

Form View

Trang 5

D t Li t

© 2009 Khoa CNTT - HKHTN

17

Repeater

© 2009 Khoa CNTT - HKHTN

18

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

D t B d C t l T T l t l t

Data Bound Control

Data Bound Control Templates Templates

Header Template Qui đ nh n i dung & layout c a dòng Tiêu đ danh sách

Item Template p Qui đ nh n i dung & layout hi n thi các g y m c d li u

SelectedItem Template Qui đ nh n i dung & layout c a m c d li u đang đ c

ch n EditItem Template Qui đ nh n i dung & layout c a m c d li u đang đ c

ch nh s a (c p nh t) AlternatingItem Template Qui đ nh n i dung & layout c a c a m c d li u kê ti p

AlternatingItem Template Qui đ nh n i dung & layout c a c a m c d li u kê ti p

Seperator Template Qui đ nh hình th c th hi n Phân cách gi a các m c d

li u

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

Ví d T T l t l t

Ví d

Ví d Templates Templates

Trang 6

D t B d C t l

D t B d C t l Th Th tí tí h h

Data Bound Control

Data Bound Control Thu Thu c c tí tính nh

DataSourceID Thi t l p ngu n d li u

DataKeyNames y Thi t l p p các thu c tính khóa trong b ng d li u g g

AllowSorting T t/B t ch c n ng t đ ng s p x p (GridView)

AllowPaging g g T t/B t ch c n ng t g đ ng g phân trang p g

PageSize Qui đ nh Sô dòng d li u hi n thi trong 1 trang (GridView)

PageIndex g Ch sô trang g hi n hành

EditItemIndex Ch sô m c d li u đang đ c c p nh t

AutoGenerateRows/Items T đ ng phát sinh hình th c hi n thi t ng ng v i CSDL

AutoGenerateDelete/Edit/ T đ ng phát sinh các nút Delete/Edit/Insert

© 2009 Khoa CNTT - HKHTN

21

AutoGenerateDelete/Edit/

InsertButton

T đ ng phát sinh các nút Delete/Edit/Insert

Data Bound Control Data Bound Control S S ki ki n n

Item[Row]Deleting/Editing/Updating /Inserting

S ki n phát sinh sau khi click các nút Delete/Edit/Update/Insert

Item[Row]Deleted/Edited/Updated/

Inserted

S ki n sau khi th c thi xong thao tác Delete/Edit/Update/Insert d li u RowCancelingEdit S ki n khi click nút Cancel chê đô Edit

(GridView)

SelectedIndexChanged S ki n ch n 1 m c/dòng d li u

© 2009 Khoa CNTT - HKHTN

22

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

Ví d

protected void GridViewCategories_RowUpdating(object sender,

i i

GridViewUpdateEventArgs e)

{

// H y b l nh Update n u không th a đi u ki n

// H y b l nh Update n u không th a đi u ki n

try {

int id = Int32.Parse(e.Keys["CategoryId"].ToString());

object newName = e.NewValues["CategoryName"];

object oldName = e.OldValues["CategoryName“];

if (newName == oldName) throw new Exception();

} catch {

e.Cancel = true;

}

}

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

N i d

N i dung

 K t bu c d K t bu c d li u li u

 DataSource Control

 DataBound Control

 Bi u th c k t bu c d li u

 Tham sô hóa câu truy v n

Trang 7

Bi th k t k t b b d lili

Bi u

Bi u th c th c k t k t bu c bu c d d li u

 Cú pháp chung cho vi c k t bu c (Data Binding) cho các

Data bound control trong ASP.NET :

<%# Bi u th c k t bu c %>

<%# Bi u th c k t bu c %>

 Vi c k t bu c d li u trong data source c a các control s

đ c th c hi n khi ph ng th c DataBind() đ c g i

© 2009 Khoa CNTT - HKHTN

25

<html xmlns="http://www.w3.org/1999/xhtml" >

<body>

<body>

<form id="form1" runat="server">

<div>

< asp : DataList ID ="MyList" runat ="server">

< ItemTemplate >

Here is a value: <%# Container.DataItem %>

</ ItemTemplate >

</ asp : DataList >

</ asp : DataList >

</div>

</form>

</body>

</html>

© 2009 Khoa CNTT - HKHTN

26

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

Bi u th c k t bu c d li u

 Thu c tính Thu c tính đ n đ n

VD: <%# custID %>

 T p h p

VD: <asp:ListBox id="List1“ datasource='<%# myArray %>‘

runat="server">

 Bi u th c

VD: <%# (cst.FirstName + " " + cst.LastName )%>

 K t qu c a vi c g i ph ng th c

 K t qu c a vi c g i ph ng th c

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

Bi u th c k t bu c d li u

Bi u th c k t bu c d li u – – Ví d Ví d

<body>

<form id="form1" runat="server">

i

<div>

<asp:DropDownList ID="StateList" runat="server" AutoPostBack="True">

<asp:ListItem>IN</asp:ListItem>

<asp:ListItem>KS</asp:ListItem>

<asp:ListItem>MD</asp:ListItem>

<asp:ListItem>MI</asp:ListItem>

<asp:ListItem>OR</asp:ListItem>

<asp:ListItem>UT</asp:ListItem>

</asp:DropDownList>

Selected State:

<asp:Label ID="Label1"

t t ' %# St t Li t S l t dIt T t % ' text='<%# StateList.SelectedItem.Text %>' runat="server" />

</div>

</form>

</b d >

</body> public partial class _Default : System.Web.UI.Page

Trang 8

N i d

N i dung

 K t bu c d K t bu c d li u li u

 DataSource Control

 DataBound Control

 Bi u th c k t bu c d li u

 Tham sô hóa câu truy v n

© 2009 Khoa CNTT - HKHTN

29

Th ô ô hó hó â â tt Tham

Tham s sô ô hó hóa a câu câu truy truy v v n n

 S S d ng d ng đ i v i các đ i v i các câu truy v n có câu truy v n có đi u ki n ho c c n đi u ki n ho c c n

nh n vào gia tr – Select * from Table Where …

– Insert into Table Values( … ) – Delete Table Where

– Delete Table Where …

– Update Table Set … Where …

 Cách th c hi n

1 Tham sô hóa câu truy v n SQL cho DataSource control

© 2009 Khoa CNTT - HKHTN

30

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

B c c 1 1 – – Tham Tham s s hóa hóa câu câu truy truy v n v n SQL SQL

SQL Data Provider: @TenThamSo

SQL Data Provider: @TenThamSo

SELECT * FROM HocSinh WHERE tenhocsinh = @ten

INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb)

VALUES( @id, @ten, @dtb )

Các provider khác: ?

Các provider khác: ?

SELECT * FROM HocSinh WHERE tenhocsinh = ?

INSERT INTO HocSinh(id hocsinh, tenhocsinh, dtb)

VALUES( ?, ?, ? )

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

B c c 2 2 – – nh nh ngh ngh a a nhó nhóm m tham tham s sô ô

 Các nhóm tham sô t Các nhóm tham sô t ng ng ng v i câu truy v n ng v i câu truy v n – <SelectParameters> </SelectParameters>

<InsertParameters > </InsertParameters >

– <InsertParameters > </InsertParameters >

– <DeleteParameters> </DeleteParameters>

– <UpdateParameters> </UpdateParameters>

Trang 9

B 3 h h ii tt h h th th ô

B c c 3 3 – – nh nh ngh ngh a a ngu ngu n n gia gia tr tr cho cho tham tham s sô ô

Name,

DBType, Type, DefaultValue, ConvertEmptyStringToNull, Direction

<asp:Parameter> Name

<asp:ControlParameter> ControlID, PropertyName

<asp:FormParameter> FormField

<asp:QueryStringParameter> QueryStringField

<asp:CookieParameter> CookieName

<asp:SessionParameter> SessionField

© 2009 Khoa CNTT - HKHTN

33

Ví d

<asp:AccessDataSource ID="AccessDataSourceCategory" runat="server"

ConflictDetection="CompareAllValues"

DataFile="~/App_Data/Products.mdb"

SelectCommand="SELECT * FROM [Categories]“

SelectCommand SELECT FROM [Categories]

[CategoryId] = ? AND [Name] = ?"

Old l t tSt i " i i l {0}"

OldValuesParameterFormatString="original_{0}" >

<UpdateParameters>

<asp:Parameter Name="Name" Type="String" /> p yp g /

<asp:Parameter Name="original_CategoryId" Type="Int32" />

<asp:Parameter Name="original_Name" Type="String" />

</UpdateParameters>

</asp:AccessDataSource>

© 2009 Khoa CNTT - HKHTN

34

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

S

S ki ki n n c c a a DataSource DataSource Control Control

Seleting/Inserting/Deleting/Updating S ki n tr c khi th c hi n thao tác

select/insert/delete/update Selected/Inserted/Deleted/Updated S ki n sau khi th c hi n thao tác

select/insert/delete/update

protected void AccessDataSourceCategory_Inserting(object sender,

SqlDataSourceStatusEventArgsq g e)

{

// H y bo thao tác Insert

if ([ i u ki n không th a])

e.Cancel = true;

L p trình và Thi t k Web 2 – Bài 6: K t bu c d li u (DataBinding)

Ví d

protected void AccessDataSourceCategory_Inserted (object sender, SqlDataSourceStatusEventArgs e )

{

// Ki m tra n u có l i phát sinh trong quá trình

th c hi n insert (ví d trùng khóa) thi xu t thông báo l i

Exception ex = e.Exception; p p ;

if (ex != null) {

e.ExceptionHandled = true;

LabelMessage.Text = ex.Message;

Trang 10

T k t

T ng

T ng k t k t

 DataSource Control

– Tham sô hóa câu truy v n

– X ly s ki n

 DataBound Control

– Paging, Sorting

– Edit Item Template

– Simple Databinding

– Custom Databinding g

© 2009 Khoa CNTT - HKHTN

37

Ngày đăng: 09/05/2014, 14:41

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm