1. Trang chủ
  2. » Công Nghệ Thông Tin

Gắn kết dữ liệu ASP.net

71 334 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 2,52 MB

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

Nội dung

CẤU TRÚC CỦA ADO.NET NET Data Provider - một tập hợp các thành phần bao gồm các đối tượng: o Connection : cung cấp việc kết nối đến CSDL o Command : Thi hành các câu lệnh SQL, cập nhật

Trang 2

Chương 4: Gắn kết dữ liệu

Data Binding

Trang 3

Nội dung chính

 ADO.NET

 DataBinding

 DataBound Control

Trang 4

Ôn tập ADO.NET

Trang 5

CẤU TRÚC CỦA ADO.NET

 NET Data Provider - một tập hợp các thành

phần bao gồm các đối tượng:

o Connection : cung cấp việc kết nối đến CSDL

o Command : Thi hành các câu lệnh SQL, cập nhật dữ liệu thông qua đối tượng Adapter

o DataReader cung cấp một luồng truy xuất DL

o DataAdapter cung cấp cầu nối giữa đối tượng Dataset và CSDL DataAdapter sử dụng đối tượng Command để

thực thi các câu lệnh SQL

Trang 6

Mô hình sử dụng ADO.NET với Phần mềm

SqlConnection SqlCommand

Insert Delete Update StoreProcedur

e

SQL

Trang 7

Mô hình sử dụng ADO.NET với Phần mềm

SqlConnection SqlDataAdapter

DataSet

Select

Insert Delete Update

1

3 2

Trang 8

Đối tượng DataSet

 CSDL lưu trữ trong bộ nhớ chính, theo cơ chế

không kết nối

table hoặc là một view mà ta có thể thiết lập mối

quan hệ giữa chúng thông qua đối tượng

 Dữ liệu trong DataSet có thể nhất quán bằng

Trang 9

Mô hình đối tượng DataSet

Trang 10

Đối tượng DataSet

 Tạo Dataset:

 Thuộc tính

o Tables : trả về danh sách các bảng trong DataSet

o Count : Trả về số DataTable trong DataSet

Trang 11

Đối tượng DataTable

 DataTable được dùng để trình bày các bảng

Trang 12

Đối tượng DataTable

Trang 13

Đối tượng DataTable

 DataColumn: Trình bày lược đồ của một cột

trong một DataTable Mỗi DataColumn có một

thuộc tính DataType để xác định kiểu dữ liệu

được lưu trữ trong DataColumn

 Khởi tạo

DataCoumn dc = new DataColumn();

 DataRow: trình bày một dòng dữ liệu trong

DataTable

Trang 14

Đối tượng DataTable

 Các thuộc tính - phương thức của DataTable

o TableName: tên bảng

o Columns : trả về danh sách các cột trong Datatable

o Columns.Count : trả về số cột trong bảng

o Columns.Add (DataColumn): Thêm cột vào bảng

o Rows : trả về danh sách các dòng, mỗi dòng là một đối tượng DataRow

o Rows.Count : trả về số dòng trong bảng

o Rows.Add (DataRow): thêm một dòng vào bảng

Trang 15

Đối tượng DataTable

 Ví dụ:

DataTable dt= new DataTable (“Table”);

DataColumn c1= new DataColumn (“F1”);

DataColumn c2= new DataColumn (“F2”);

Trang 19

 FindRow (Value): trả về một mảng DataRowView thỏa

điều kiện thiết lập trong thuộc tính sort

 Ví dụ: Lọc ra các dòng thỏa điều kiện F2=”A” trong bảng

Trang 20

Các bước kết nối CSDL

 Bước 1: Tạo kết nối

 Bước 2: Tạo điều khiển truy vấn SQL

 Bước 3: Mở kết nối dữ liệu

 Bước 4: Thực thi truy vấn SQL

 Bước 5: Đóng kết nối

 Bước 6: In kết quả

Trang 21

Lưu ý:

 Hoặc tạo chuỗi kết nối duy nhất lưu trong Web.config

o Bổ sung vào tag <configuration> một tag

<connectionStrings> như sau:

Trang 22

Trình bày dữ liệu

Trình bày dữ liệu dạng lưới,

có phân trang Trình bày dữ liệu dạng bảng,

có phân trang

Trình bày dữ liệu dạng Chương, mục

Phần tiếp theo sẽ làm rõ

Trang 26

Đối tượng Parameters

 Chức năng :Truyền tham số cho câu lệnh Sql

khi sử dụng đối tượng command để thao tác dữ

Trang 27

Đối tượng Parameters

Trang 28

Đối tượng Parameters

 Add tham số vào đối tượng command:

o Thứ tự add tham số vào đối tượng command phải đúng với thứ tự các tham số trong câu lệnh sql.

py Value = txtHoTen.Text;

cmd Parameters Add (py);

Trang 29

Đối tượng Parameters

 Thuộc tính của Parameter

o ParameterName: tên tham số

o SqlDbType: kiểu dữ liệu của tham số

o Size: kích thước của giá trị tham số

o Direction: Input, output or Both

o SourceColumn: ánh xạ một cột từ DataTabe vào Parameter

o Value: gán giá trị cho tham số, giá trị này

Trang 30

Gắn kết dữ liệu

Trang 31

GIỚI THIỆU

ra mối liên hệ giữa một control (ví dụ một listbox

hoặc một GridView) với dữ liệu nguồn

 Có 2 trường hợp kết gán:

o Dùng DataSource Control ( DataSourceID )

o Viết code lấy DataSource ( DataSource )

 Cần có sự tham gia của 2 thành phần:

o Nguồn dữ liệu

Trang 32

 Các đối tượng cung cấp dữ liệu để hiển thị:

o Biến đơn (int, string, HocSinh, )

Trang 34

Cú pháp

 Thuộc tính = “<%# nguồn-dữ-liệu%>”

Trang 35

 Có thể bind một expression vào control

 Bind dữ liệu dạng dãy vào control thể hiện dãy

Trang 36

DataBound Control

Các đối tượng gắn kết dữ liệu

Trang 37

List-Bound control

 Kết nối đến nguồn dữ liệu và hiển thị dữ liệu

 Các List – bound control gồm:

Trang 38

 Thiết lập các thuộc tính

DataSource  DataSet chứa dữ liệu

DataMember  Bảng dữ liệu trong DataSet

DataTextField  Field trong DataTable được hiển thị

DataValueField  Field trong DataTable trở thành giá trị của itemGán d ữ liệu từ Dataset

Trang 40

Gán d ữ liệu từ DataReader

 Thiết lập thuộc tính

DataSource  Nguồn dữ liệu

DataTextField  Field trong DataTable được hiển thị

DataValueField  Field trong DataTable trở thành giá trị của item

Trang 41

Gán d ữ liệu từ DataReader

 Gọi phương thức DataBind

listbound DataSource = dr;

listbound DataBind() ;

Trang 42

Gán d ữ liệu từ DataReader

 Đọc từng record

while (dr.Read()){

string value = dr[Index]ToString();

hoặc string value = dr["FieldName"].ToString();

listBound.Items.Add(new ListItem(value));

}

Trang 43

 Cú pháp:

 Các thuộc tính:

o Id.Item.Count: số phần tử trong danh sách

o AutoPostBack =true : phần tử được chọn sẽ postback về

server

o SeletedItem: trả về phần tử được chọn

o SeletedText: trả về nội dung phần tử được chọn

< asp : DropDownList ID ="Drp" runat ="server“>

</ asp : DropDownList >

Trang 44

 Sự kiện :

o OnSelectedIndexChange

o TextChange

Trang 45

Ví dụ

protected void Page_Load( object sender, EventArgs e)

{

string strcn = "server=.; database=SongAlbum; uid=sa; pwd=" ;

SqlConnection con = new SqlConnection (strcn);

con.Open();

string sql = "select * from Artist" ;

SqlCommand cmd = new SqlCommand (sql, con);

SqlDataReader dr = cmd.ExecuteReader();

while (dr.Read()) {

string text = dr[ 0 ].ToString();

string value = dr[ 1 ].ToString();

Trang 46

< asp : ListBox ID ="ListBox1" runat ="server">

</ asp : ListBox ></ div >

Trang 48

< asp : CheckBoxList ID ="CkBLst" runat ="server">

</ asp : CheckBoxList >

Trang 51

Ví dụ:

<asp:RadioButtonList id="RdLst“ RepeatColumns="2"

RepeatDirection="Vertical“ runat="server">

</asp:RadioButtonList>

protected void Page_Load( object sender, EventArgs e)

{

if (!Page.IsPostBack) {

ArrayList arrlst = new ArrayList ();

arrlst.Add( "Item1" ); arrlst.Add( "Item2" ); arrlst.Add( "Item3" ); arrlst.Add( "Item4" );

rdlst.DataSource = arrlst;

Trang 52

 Sử dụng DataList hiển thị dữ liệu từ data source

o Sử dụng khi hiển thị dữ liệu dạng danh sách (tương

Trang 53

 Sử dụng tùy chỉnh EditTemplate

Trang 54

 Các bước sử dụng DataList:

o Chuẩn bị nguồn dữ liệu

o Gán DataSource cho DataList

o Cấu hình ItemTemplate

Trang 55

Cấu hình ItemTemplate

 Tuân thủ cú pháp dataBinding:

Thuộc tính = ‘ <% # Eval (“ field/property ”) %> ’

 Có thể thực hiện bằng phương pháp Design

Trang 56

 Hiển thị danh sách dạng table

 Cho phép phân trang

 Thực hiện các chức năng Insert, Update và

Delete dữ liệu trực tiếp

 Chỉ hiển thị những cột cần hiển thị:

o AutoGenerateCoumns = false

o Add các cột vào Bound Field vào GridView

o PageSize : số record trên mỗi trang

Trang 57

 Gán dữ liệu dùng Eval

o Cú pháp:

<%#Eval("FieldName") %>

Trang 61

 TemplateField: Cho phép xuất dữ liệu theo ý

muốn, không phải theo dạng bảng

Trang 63

Ví dụ

Hiển thị dữ liệu có dạng như hình ta sử dụng

<asp:TemplateField>

Trang 64

 Edit dữ liệu trên lưới (không khóa ngoại)

o Update/Edit

 Sử dụng Edit/Delete Command Field

o Update: RowEditing , RowCancellingEdit, RowUpdating

o Delete: RowDeleting

Trang 66

 Xóa 1 lúc nhiều dòng trên lưới

o Thêm 1 cột CheckBox vào lưới

o Xóa các dòng đang được check

Trang 68

<HeaderTemplate> Chứa tiêu đề, chỉ xuất hiện một lần

<ItemTemplate> Phần chứa dữ liệu trong danh sách

<AlternatingItemTemplate> Template này chỉ áp dụng cho những dòng có

thứ tự lẻ

<Separator Template> Xác định nội dung HTML giữa các dòng

Cấu trúc của Repeater

Trang 69

o phần dữ liệu đặt trong các thẻ con có

Trang 70

Ví dụ

 Xuất dữ liệu dùng repeater có dạng:

Trang 71

THE END

Ngày đăng: 17/03/2015, 17:59

TỪ KHÓA LIÊN QUAN

w