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

C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML

347 1,6K 1
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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 347
Dung lượng 6,68 MB

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

Nội dung

Bên cạnh những kiến thức cơ bản của ADO.NET 2.0, chúng tôi giới thiệu đến bạn đọc cách đọc dữ liệu từ đối tượng Cache để tránh kết nối cơ sở đữ liệu nhiều lần, ASP.NET 2.0 va XML.. Ngoà

Trang 1

ˆ THU VIEN DH NHA TRANG _`

Không gạch, viết, vẽ lên sách

Trang 2

tram Phạm Hữu Khang (Chủ biên)

Trang 3

GIỚI THIẾU

Tiếp theo quyến 3 của tập 5, quyển 4 của tập 5 cung cấp cho bạn những kiến thức từ cơ bản đến nâng cao liên quan đến cách xây dựng ứng

dụng ASP.NET 2.0 với cơ sở dữ liệu SQL Server Bên cạnh những kiến thức

cơ bản của ADO.NET 2.0, chúng tôi giới thiệu đến bạn đọc cách đọc dữ liệu

từ đối tượng Cache để tránh kết nối cơ sở đữ liệu nhiều lần, ASP.NET 2.0

va XML

Ngoài ra, bạn cũng tìm hiểu cách khai báo lớp dùng chung để tương tác với cơ sở dữ liệu SQL Server, lớp trình bày đữ liệu trên các điều khiển ASP.NET thường sử dụng và cách khai báo sứ dụng User Control cùng với MasterPage

Giáo trình bao gồm 6 chương và phần diễn giải ứng dụng Tuyển dụng đính kèm, xuyên suốt từ giới thiệu cấu trúc ứng dụng, chức năng tìm kiếm, liệt kê, xem thông tin chỉ tiết của tỉn tuyển dụng, nộp đơn trực tuyến, lưu tin tuyển dụng, lưu tiêu chí tìm kiếm, chức năng đăng nhập và đăng tin của nhà tuyển dụng cùng với phương thức xây dựng giỏ hàng

Song song với ví dụ trình bày chỉ tiết ứng với từng phần lý thuyết, chúng tôi giới thiệu đến bạn đọc từng phần của ứng dụng thương mại điện

tử trong kinh doanh địch vụ tuyển dụng trên nền ASP.NE2 2.0 bằng ngôn ngữ lập trình C# 2005 với cơ sở dữ liệu SQL Server 2000/2005

Quyển 4 - Đối tượng ADO.NET 2.0 và XML” nằm trong tập sách C#

2005 - Tập 5: Lập trình ASP.NBT 2.0 bao gồm nhiều quyển từ lập trình cơ bản, đối tượng và điều khiển ASP.NET 2.0, điều khiển kết nối cơ sở dữ liệu, lập trình cơ sở dữ liệu, ASP.NET 2.0 trong ứng dụng tuyển dụng nhân sự, lập trình ASP.NET AJAX

Trang 4

HƯỚNG DẪN SỬ DỤNG VÍ DỤ ĐÍNH KÈM

THEO SACH

Để sử dụng các ví dụ đính kèm theo sách, trước tiên bạn giải nén các

thư mục tương ứng với từng chương nếu chúng tổ chức dưới dạng tập tin zip, trong mỗi chương có nhiễu Solution ứng với từng thư mục Để mở từng Web

Site trong từng thư mục bạn có thể chọn một trong 3 cách sau:

* Chọn tên tập tin sÌn trong thy mye Projects va Double-Click

« Chon tén tap tin sln réi R-Click | Open With | Visual Studio 2005

* Chon Start | All Programs | Microsoft Visual Studio 2005 | Microsoft Visual Studio 20051 File | Open | Web Site! chon tén thu mue

Bạn có thể kiểm tra đường dẫn của thư mục Web Site mà Solution

quản lý bằng cách mở tập tin sln và thay đổi PhysicalPath va Project

Để sử dụng cơ sở đữ liệu cho ví dụ và ứng dụng đính kèm, bạn có thể phục hồi cơ sở dữ liệu từ tập tin backup bang chic năng Restore hoặc sử

dụng tiện ích Attach để thêm cơ sở dữ liệu vào SQL Server

Với những ví dụ có liên quan đến cơ sở dữ liệu bạn cân xem lại các

thuộc tính của chuỗi kết nối cho phù hợp với một trong hai đặc quyển kết

nối cơ sở dữ liệu là theo hệ điều hành Windows hay SQL Server 2005

Ví dụ đính kèm theo sách được tổ chức theo tig Solution, bao gdm nhiều thư mục tương ứng, sau khi mở Solution trong Visual Studio 2005,

bạn có thể chọn từng thư mục để thực thi Để có trang mặc định bạn có thể

chon trang ASP.NET 3.0 rồi R-Click | Set As Start Page

Ung dụng đính kèm theo đĩa sẽ được hoàn thiện thành ứng dụng thương mại điện tử có thể sử dụng trong thực tế cho doanh nghiệp kinh doanh địch vụ tuyển dụng hay một phần trong hoạt động kinh doanh của

công ty, Ứng dụng sẽ được phát triển qua từng quyển cho phù hợp với các kỹ thuật đã trình bày, bạn có thể tiếp tục điều chỉnh một vài chức năng khác

dựa trên những chức năng đã được trình bay

Trang 5

THƯ NGỎ

Kính thưa quý Bạn đọc gần xa!

Trước hết, Ban xuất bản xin bày tỏ lòng biết ơn và niềm vinh hạnh được đông đảo Bạn đọc nhiệt tình ủng hộ tủ sách MK.PUB

“Trong thời gian qua chúng tôi rất vui và cảm ơn các Bạn đã gửi e-mail đóng góp nhiều ý kiến quý báu cho tủ sách

Mục tiêu và phương châm phục vụ của chúng tôi là:

« Lao déng khoa học nghiêm túc

» Chất lượng uà ngày càng chất lượng hơn,

© Tat cd vi Ban doc

Một lần nữa, Ban xuất bản MK,PUB xin kính mời quý Bạn doc tiếp tục tham gia cùng chúng tôi để nâng cao chất lượng sách Cụ thể:

Trong quá trình sử dụng sách, nếu quý Bạn phát hiện thấy bất kỳ sai sót nào (đò nhỏ) xin đánh dấu, ghi chú nhận xét ý kiến của Bạn ra bên cạnh rỗi gửi cuốn sách này cho chúng tôi theo địa chỉ:

Nhà sách Minh Khai

249 Nguyễn Thị Minh Khai, Q.1, Tp Hồ Chi Minh

E-mail: mk.book@minhkhai.com.un hoac mk.pub@minhkhai.com.vn Chúng tôi xin hoàn lại cước phí bưu điện và gửi trả lại Bạn cuốn sách cùng tên Ngoài ra chúng tôi còn gửi tặng Bạn một cuốn sách khác trong tủ sách MK.PUB Bạn có thể chọn cuốn sách này theo danh mục thích hợp sẽ gửi tới Bạn

Với mục đích ngày càng nâng cao chất lượng tủ sách MK.PUB, chúng tôi rất mong nhận được sự hợp tác nhiệt tình của quý Bạn đọc gần xa

“IK.PUB cùng Bạn đọc đồng hành” để nâng cao chất lượng sách Một lần nữa chúng tôi xin chân thành cảm ơn

MK.PUB

Trang 6

Chương 17: GIỚI THIỆU ADO.NET 3.0 TRONG ASP.NET 2.0 11

1, Đối tượng SQLConnection 002 2t 22t 12 2 ren ray 13 1.1 Đăng nhập bằng Windows Authentication occccccccscccsesceesees 14 1.2 Đăng nhập bằng SQL Seruer AuthenticafiGP co 18

3 Đối tượng SQLDataReader nhieu 38

4 Đối tượng SQLDataAdapt@r nh HH ưn 41

5 Đối tượng DataSet, DataTable, DataView che 43 ð.1 Đối lượng DdQS6f eesti 43 5.9 Đối tượng DataTable veces cuteness 46 5.8 Đốt tượng DatqViG0 Ă cong eret 48

6 Sử dụng đối tượng Cache ằ cọ 2n HH iu 54 Chương 18: XÂY DỰNG LỚP DÙNG CHUNG susescaesavecaseeneess 67

1 Lép cung cap két néi co sO dit LGU cece rss eenereenesenteeeeneneeenre 67

2 Lép thuc thi tdc vu trém dit H6U occ eee eee eee ere etteeteneseeeneeeee 72

Trang 7

8 Lớp dùng để truy vấn dữ liệu cv chen 74 3.1 Sử dụng đối tượng DataSet uà DatuTqbÌe is 75 3.2, SU dung déi tuong Object, ArrayList vd String rece 77

4 Lớp trình bày đữ liệu trên điều khiển theo 80 4.1 Điều khiển DropDownList

4.3 Điều khiển ListBoa

4.3 Điều khiển CheckoxElSỈ c HH nhang ye 91 4.4 Điêu khiển RadioBuilonLiSE à che 95 4.6 Điều khiển TreeViG1U cớ 98 4.6 Điều khiển Grid ViI0 "HH Hà hê, 101 4.7 Điều khiển DetailsViM cu che rưệ, 102 4.8 Điêu khiển FormViGiU à cv nhe 104

4.0 Điều khiển DataList cscs eng 105

4.10 Điều khiển Ï@DeEQEGT uc 221 2 cecrse 106 4.11, Điêu khiển BulletedLlSE nhu 108 4.19 Điêu khiển AdRotator

Chương 19: LÀM VIỆC VỚI ĐIỀU KHIỂN TRÌNH CHỦ

1.8 Điều khiển Listox H1 n2 re 117

2 Điều khiển CheckBoxList, RadioButton Lisi cicc 120

3.1 Điều khiển CheckBoxLilsf, LH seo 120 2,3 Điều khiển HadioButtonLlSE neo 124

8 Điều khiến GridView, DetailsView, FormView nho 127

3.1 Điễu RAEN Grid View.cccccccccccsessssssssssssesseessserssecsarcessssuesssreeses 127

Trang 8

3.3 Điều khiển FormVi6iU chao 132

4 Điều khiển DataList, Repeater -.ciiienerrerinriee 134

4.1, Điều khiến DatQLiSE vụ Ăn Hưng khe 134

49 Điêu khiển ReDeQlGT cong ree 137

5 Điều khiển Menu, TreeView va ListView

6.1 Điều khiển Menu

5.2 Diéu khién TreeView

6 Điều khiển BulietedList, AdRotator -ccccccenerrrorrrree 144

6.1 Điều khiển BulletedLlF cccocccehehHheeeiderre 144 6.9 Điều khiển AdNOIGÍOT ào HH tre 146

Chương 20: LAM VIEC VOI XML

1 Đối tượng XmlText Writer, XmlTextReader eee eee eee 151

Li, Ghi da lidu ra tp tin XML vce eenrs cree eeneneenenees 153

9 Đối tượng XmlWriter, XmiReader cece eee ete 161

3.1 Ghi dữ liệu ra tập tìn KML vcoscsscssssscsssssnnennsineeseneceiestes 161

3 Đối tượng XmlDocument

3.1 Tạo uà ghỉ dữ liệu ra tập tin XML sree ete 169

BQ cối nan 175

3.3 Thêm, cập nhật vd xda did lidu XML 179 8.4 Tìm kiếm trên dữ liệu XML erences enacts 198

4 XML và đối tượng ADO.NET 2.0 cecerrrrrrrrrrrrrrre 196

Chương 21: CHỨC NĂNG GIỎ HÀNG VÀ ĐƠN ĐẶT HÀNG 201

1 Tìm kiếm và liệt kê sản phẩm ceeennrrierererrrrrrrree 201

92 Thêm sản phẩm vào giỏ hàng cnhheenrerreniee 218

3 Trình bày sản phẩm trong giỏ hàng ecrieerereenrrre 992

4 Dat hang

Trang 9

MỤC LỤC Chương 22: USER CONTROL, VÀ MASTERPAGE 241

1 Tìm hiểu User Control

4.2 Tin tuyển dụng đã HH và 2 san seseee 309

43 Tiêu chí lìm kiếm đã HÁN cu 2n are 314

5 Chute năng nhà tuyển dụng á th n1 neo 320

6 Kết luận

Trang 10

Trong tập 4 quyển 2, bạn đã tìm hiểu về các đối tượng

ADO.NET 2.0 nhu: SqlConnection, SqlCommand, SqlDataReader,

SqlDataAdapter va DataSet

Ngoài ra, bạn cũng đã tham khảo cách sử dụng các loại Data Souree như: SalDataSouree, AccessDataSource, XmlDataSource và

ObjectDataSource với các điều khiển trình chủ dang danh sách như:

GridView, DetailsView, DataList, Repeater, FormView, TreeView, Menu, AdRotator, DropDownList, ListBox, CheckBoxList va RadioButtonList trong quyén 3

Trong chương này, bạn tiếp tục tìm hiểu chỉ tiết cách sử dụng thuộc tính, biến cố, phương thức của đối tượng ADO.NET 2.0 trong

ASP.NET 2.0 nhu: SqlConnection, SqlCommand, SqlDataReader, SqlDataAdapter, DataSet, DataTable va DataView

Ngoài ra, chúng ta cũng tìm hiểu cách sử dụng đối tượng

Cache để nắm giữ dữ liệu thay vì đọc lại cơ sở dữ liệu nhiều lần

Các vấn đề chính sẽ được đề cập:

Đối tượng SqlConnection

Đối tượng SqlCommand

Đối tượng SqlDataReader

Đối tượng SqÌDataAdapter

Đối tượng DataSet, DataTable, DataView

Trang 11

1 DOI TUGNG SQLCONNECTION

Tiếp tục trong tập 4 “C# 2005 - Liập trình cơ sở dữ liệu” đã phát hành, chúng tôi tiếp tục giới thiệu cách sứ dụng các đối tượng ADO,NET 3.0 trong ứng dung ASP.NET 2.0,

Nếu như làm việc với ứng dụng Windows Forms thi ban cé thé mé mỗi kết nối cho mỗi người sử dụng khi đăng nhập vào hệ thống ứng dụng

với các lý do chính như sau:

® - Số người sử dụng thường không lớn

« Ung dung trién khai trong mạng cục bộ

© Qué trình truy cập và xử lý dữ liệu liên tục

» _ Cải thiện tính thực thi đữ liệu đo hạn chế số lần mở và đóng kết

nối cơ sở đữ liệu

Tuy nhiên, khi làm việc với ứng dụng Web, chúng ta cần xem xét đến hai vấn để, đó là ứng dụng Internet cho phép mọi người truy cập hay ứng

đụng Intranet ứng dụng cho doanh nghiệp

Nếu như ứng dụng Internet cho phép mọi người truy cập thì bạn có

thể mở kết nối cơ sở đữ liệu để truy vấn hay xử lý dữ liệu và đóng kết nối khi không còn nhu cầu sử dụng

Trong trường hợp ứng dụng Intranet, bạn cũng có thể cho phép mọi

người truy cập bằng cách mở kết nối cơ sử dữ liệu để truy vấn hay xử lý dữ liệu và đóng kết nối khi không còn nhu cầu sử dụng Do ứng dụng Intranet

thường sử dụng trong nội bộ doanh nghiệp, số lượng người sử dụng cũng có

giới hạn, bạn vẫn có thể sử dụng cơ chế kết nối cơ sở dữ liệu như ứng dụng Windows Forms, song bạn không nên lạm dụng cách kết nối theo loại này

mà nên đóng kết nối và mở lại kết nối khi có nhu câu sử dụng cơ sở dữ liệu

Để kết hợp tính tối ưu truy cập cơ sở dữ liệu của ứng dụng Windows Forms trong ting dung ASP.NET, ban can xay đựng kiến trúc 3 tầng (3

tiers) cho giải pháp này, tầng giữa (Middle tier hay còn gọi là Business tier) cho phép kết nối cơ sở dữ liệu và kết nối sẽ được mở liên tục, khi tầng giao điện (Presentation tier) có nhu cầu truy cập dữ liệu (Data tier), chúng chỉ

gọi các phương thức của tầng giữa để lấy giá trị trả về hay chỉ thị các tác vụ cho tầng này thực thị,

Mật giải pháp tối ưu cho ứng dụng Web được cho là chuyên nghiệp nếu bạn xây dựng chúng đựa trên kiến trúc 3 tang Tuy nhiên, trong quyén

4 ching ta chi tim hiéu cách xây dựng các lớp dùng chung chuyên dụng cho

Trang 12

Chương 17: Giới thiệu ADO.NET 2,0 trong ASP.NET 2.0 18 In

chức năng kết nối, truy cập và xử lý cơ sở đữ liệu (trình bày trong chương kế

tiếp), phần kiến trúc 3 tầng sẽ được trình bày trong cuốn sách “C# 2005 —

Lập trình nâng cao”

'Trở lại đối tượng dùng để kết nối cơ sở dữ liệu SQL Server, chúng ta

sẽ tìm hiểu cách sử dụng đối tượng SqlConnection trong ứng dụng

ASP.NET 2.0 qua các ví dụ tham khảo

Như cách làm việc với ứng dụng Windows Forms, khi làm việc với cơ sở

đữ liệu SQL Server trong ASP.NET 3,0, bạn khai báo với cú pháp như sau:

Nếu như bạn lấy chuỗi kết nối cơ sở đữ liệu trong tập tin App.Conũg

hay tập tin định dạng Text (ni) khi làm việc véi tng dung Windows Forms thi trong ứng dụng ASP.NET 2.0, các thông tin này có thể lưu trong tập tin App.Config

Luu ý: Chúng ta sẽ tìm hiểu chỉ tiết về cấu trúc của tập tin App.Config

ở chương trình bày về cấu hình ứng dụng ASP.NET 2.0 trong phần triển khai ứng dụng của quyển tiếp theo

Một trong những vấn đề chính của chuỗi kết nối cơ sở dữ liệu là bạn kết nối cơ sé đữ liệu theo hình thức đặc quyền (Authentication) của hệ điều hanh Windows (Windows Authentication) hay SQL Server Authentication

Trang 13

1.1, Dang nhap bang Windows Authentication

Nếu bạn chọn Windows Authentication, người sử dụng dùng tài khoản và quyền hạn của tài khoản này trong hệ điều hành Windows để đăng nhập vào cơ sở dữ liệu SQL Server

Mặc định của SQL Server 7.0, 2000 hay 2005 đều cho phép bạn đăng nhập bằng đặc quyển này Tuy nhiên, ngoại trừ tài khoản đăng nhập là Administrator, các tài khoản còn lại cần phải được đăng ký trong SQL Server Luu ý: Để tìm hiểu chỉ tiết cách quan ly tài khoản trong cơ sở dữ liệu SQL Server 2000, bạn có thể tìm đọc cuốn sách “Quản trị SQL Server 2000”

do nhà sách Minh Khai phát hành

Chẳng hạn, khi bạn làm việc với SQ1L Server 2000, để đăng ký kết nối cơ sở dữ liệu SQL Server tit SQL Server Enterprise Manager (EMC) thi bạn cần chọn một trong hai cách đăng nhập như hình 17-1

Registered SOL Server Properties [

is Always Options

Trang 14

Trong hình trên, bạn có thể chọn cách kết nối cơ sở đữ liệu SQL Server bằng cách chọn vào tùy chọn Use Windows Authentication hay Use SQL Server Authentication

Chú ý: Nếu bạn làm việc với SQL Server 2005 thì cửa sổ cho phép bạn đăng nhập SQL Server Management Studio như hình 17-2

Server type Ỷ “ Database Engine x

authềnlicatiorr? Windows Authentication bd]

Lo] Remember password

Hình 17-3: Kết nối cơ sở đữ liệu SQL Seruer 2005

Trong hình trên, bạn có thể chọn cách kết nối eơ sở dữ liệu SQL Server theo Windows Authentication hay SQL Server Authentication Như vậy, khi làm việc với cơ sở dữ liệu SQL Server, người sử dụng

không cần cung cấp tài khoản và mật khẩu để đăng nhập vào SQL Server Chú ý: Để tìm hiểu chỉ tiết cách quần lý tài khoản trong cơ sở dữ liệu

SQL Server 2005, bạn có thể tìm đọc cuốn sách “Quản trị cơ sở dữ liệu SQL Server 2005” do nhà sách Minh Khai sắp phát hành

'Tương tự như vậy, khi bạn kết nối cơ sở dữ liệu SQL Server từ tiện ích SQL Query Analyzer bing cach chon céch két néi co sé dữ liệu SQL Server

bang Windows Authentication hay SQL Server Authentication nhy hình 17-3

Trang 15

Để bắt buộc người sử dụng kết nối cơ sở dữ liệu SQL Server bằng đặc

quyén Windows Authentication thì ban chon tiy chon Windows Only trong

phần cấu hình Authentication cia cita sé SQL Server Property (Configure)

nhu hinh 17-4,

Lưu ý: Bạn có thể kích hoạt cửa sổ này từ thực đơn Tools Ì SQL Server Configuration Properties nếu bạn đã đăng ký kết nối cơ sở dữ liệu

' bằng quyén Administrator hay sa

"+ Trong trudng hgp làm việc với cơ sở dữ liệu SQL Server 2005, để bắt

- buộc người sử dụng kết nối cơ sở dữ liệu SQL Server 200ð bằng đặc quyền

Windows Authentication thi ban chon tiy chon Windows Authentication

Mode trong phẩn cấu hình Server Authentication của cửa sổ Server

Property | Security nhu hinh 17-5

Luu ý: Ban có thể kích hoạt cửa sổ này từ thực đơn R-Click trên tên cia Server | Properties từ của sổ Objeet Explorer nếu bạn đã đăng ký kết nối cơ sở dữ liệu bằng quyén Administrator hay sa

Trang 16

Hinh 17-5: Cdu hinh két noi co sé dit liu SQL Server 2005

Như vậy, khi SQI Server được cấu hình kết nối cơ sở dữ liệu theo đặc quyền của hệ điều hành thì bạn khai báo chuỗi kết nối cơ sở đữ liệu như sau:

<connectionStrings>

<add name="RCVDB2000"

connect ionString="servers (local);

Integrated Security=true;

Trang 17

đatabase=RecruitVietnamDb" />

</connectionStrings>

Chú ý: Để ứng đụng ASP.NET 2.0 được tương tác với cơ sở đữ liệu

SQL Server, bạn có thể đăng nhập hệ điêu hành với tài khoán đã đăng ký

trong SQL Server và được quyển làm việc trên cơ sở dit liệu

RecruitVietnamDb

1.2 Dang nhap bing SQL Server Authentication

Ngược lại với trường hợp trên, nếu bạn cho phép người sử dụng truy

cập cơ sở dữ liệu bằng tai khodn cia SQL Server thi sir dung chuỗi kết nối

tương tự như sau:

Như vậy, khi làm việc với cơ sở dữ liệu SQL Server, người sử dụng

phải cung cấp tài khoản và mật khẩu để đăng nhập vào SQL Server

Để có thể sử dụng chuỗi kết nối cơ sở dữ liệu với hai thuộc tinh User Id

(uid) va Password (pwd), bạn cấu hình trong SQL Server 2000 như hình 17-6

nhu ễ

Hình 17-6: Cho phép kết nối bằng SQL Server Authentication

Tương tự như vậy, khi bạn làm việc với 8QL Server thì bạn chọn vào SQL Server and Windows Authentication mode như hình 17-7

Trang 18

ky tai khodn nay trong phan Logins cia Security, điêu này có nghĩa là người

sử dụng sau khi đăng nhập hệ điều hành thì phải đăng nhập SQL Server với

tài khoản và password của họ đã khai bdo trong SQL Server néu kết nối Chú ý: Nếu nhà quần trị chỉ cho phép kết nối cơ sở dữ liệu bằng đặc quyền hệ điều hành và ngăn cấm cách đăng nhập bằng đặc quyền của SQL Server 2005, bạn sẽ nhận chuỗi lỗi phát sinh tương tự như hình 17-8

Hình 17-9: Chuỗi lỗi khi kết nối cơ sở dit ligu SQL Server 2000

Lưu ý: Một khi bạn để lộ username và password cho những người có

ý xấu, họ có thể truy cập trái phép tài nguyên của hệ điều hành hay trong

cơ sở dữ liệu 8QL Server của bạn tùy thuộc vào cách cấu hình như trên

Trang 19

1.8 Đọc chuỗi kết nối

Nếu như bạn đã làm việc với ASP.NET 1.0 hay 1.1 thì cách đọc chuỗi

kết nối cơ sở dữ liệu trong tập tỉn Web.Config có cú pháp như sau:

ConfigurationSettings.AppSettings (

"ConnectionString");

Lưu ý: Dé sử dụng phương thức AppSettings ở trên, bạn cần khai báo

sử dụng không gian tên như sau:

using System.Configuration;

Trong đó, chuỗi kết nối cơ sở dữ liệu khai báo trong tập tin

Web.config nhu sau:

Chú ý: Bạn không nên khai bdo username và password cé gid tri

nguyên thủy như trên mà sử dụng phương thức do bạn định nghĩa để mã

hóa chúng, sau đó dùng phương thức khác để giải mã hai giá trị này khi kết nổi cơ sở đữ liệu SQL Server

hi làm việc với ứng dụng ASP.NET 2.0, thay vì sử dụng phương thức

AppSettings của đối tượng ConñigurationSettings, bạn sử dụng thuộc tính ConnectionString của đối tượng WebConfigurationManager như sau:

Trang 20

Luu ¥: Dé sứ dụng thuộc tính ConnectionString ở trên, bạn cần khai

báo sử dụng không gian tên như sau:

server=(ocal); Integrated Security=tme; database=RecruttViemamDb

Data Source=(local)\ SQLEXPRESS; Initiat Catalog=Recrnit VietmamDb;

Integrated Security=True

Hình 17-10: Đọc chuỗi kết nối cơ sé đữ liệu

Trang 21

Sau khi khai báo chuỗi kết nối cơ sở dữ liệu, bạn có thể khai báo mở

kết nối bằng phương thức Open như sau:

Khi không còn nhu câu sử dụng đối tugng SqlConnection, bạn có thể

gọi phương thức Close và Dispose

Ví dụ 17-3 Khai báo SqlComection|

Trang 22

11 Khai báo mở kết nối cơ sở đã liệu sg1Connection Open () ;

Literall.Text += "Opened database: "+

LỊ Khai báo giải phóng đối tượng SgạÌConnection

Literall.Text += "Pailed:" + ex.Message;

sqlConnection.Dispose(};

Literall.Text += "Disposed database: "+

DateTime Now ToLongTimeString(};

Literell.Text += "<br>";

}

Khi thực thi chương trình, kết quả trình bày như hình 17-11

“+ UntiHed Page - Windows TT nh: Explorer (= fois)

Trang 23

Để kiểm tra trạng thái của đối tượng SqlConnection, bạn sử dụng

thuộc tính State và enum là ConnectionState (Closed, Open, Broken, )

Ví dụ, bạn khai báo kiểm tra đối tượng SqlConnection đã đóng hay

chưa thì khai bả như sau

Chú ý: Bạn có thể tìm hiểu cách mã hóa và giải mã username và

password cho chuỗi kết nối cơ sở dữ liệu trong cuốn “C# 2005 - Tập 6°

3 ĐỐI TƯỢNG SQLCOMMAND

Tương tự như đối tượng SglConnection, khi làm việc với ứng dụng ASP.NET 2.0, bạn có thể khai'báo và sử dụng đối tượng SqiCommiand nhu

đã dùng trong ứng dụng Windows Forms,

Trang 24

Như vậy, khi sử dụng đối tượng này, bạn có thể khai và khởi tạo một

trong 4 cú pháp sau:

SqlCommand sq1Command = new Sq1Command () ;

SqlCommand sqlCommand = new $q1Command (commandText ) ; SqlCommand sqlCommand = new Sq1Command (commandText, sqlConnection);

SqlCommand sqlCommand = new S$q1lCommand (commandText ,

sqlConnection, sqlTransaction);

Sau khi khai báo và khởi tạo, bạn có thể gán giá trị cho các thuộc tính của đối tượng này như: CommandText, CommandType, ComandTimeout,

Connection, Transaction, Parameters,

Chẳng hạn, bạn khai báo đoạn chương trình trong biến cố Page_Load của trang CommandPage.aspx để in ra tổng số mẩu tin cha bang

tblJSAceounts như ví dụ 17-8

Khai báo x chói cu đối tượng SqlCommandl

protected void Page_Load (object sender, EventArgs e}

Trang 25

sqlCommand.Connection = sqlConnection;

sqlCommand.CommandType = CommandType Text ;

Hình 17-18: Sở dụng đối tượng SqiCommand

Ngoài các thuộc tính vừa trình bày ở trên, bạn có thể sử dụng các

phương thức như ExecuteNonQuery, ExecuteScalar, ExecuteReader để

thực thi phát biểu SQL hay thủ tục nội tại và ExecuteXmlReader để đọc dữ

ligu theo dinh dang Xml :

Trang 26

Chương 17: Giới thiệu ADO.NET 2.0 trong ASP.NET 2.0

int records = sqlCommand ExecuteNonQuery ();

Chẳng hạn, bạn thiết kế giao diện trang thêm mới mẩu tin vào bảng

Hình 17-14: Sử dụng phương thức của déi tuong SqlCommand

Khi người sử dụng nhấn nút Save, bạn lưu thông tin nhập trên man hình vào bảng tblJobCategories như ví dụ 17-4

protected void btnSave_Click(object sender,

EventArgs e€)

{

L1 Khai báo uà khởi tạo đối tượng SqÌConnection

sqlConnection = new SqlConnection():

LỊ Khai báo va khôi tạo đối tượng SqiCommand

sqlCommand = new Sqlcommand();

1 { Khai bdo thuộc tính cho đối tượng SqlCommand

Trang 27

sqiCommand.CommandText =

"Insert into tblJobCategories"+

“values (GID, @Name)";

// Khai báo tham số

AddParameters (sqlCommand,

{ new string[2]{"@ID", "@Name"},

new string[2] {txtID.Text, txtName Text} de sqlCommand.Connection = sqlConnection;

sqlCommand.CommandType = Commandatype Text ;

{1 Thực thị phát biểu SQL dạng Insert bằng / 1 phương thúc ExecuteNonQuery

3£{sg1Command ExeCuteNonQuery () >0)

{ literalError.Text =

"New record has been inserted.";

!1 Tạo mã mới bằng phương thức CreateNeuID

CreateNewTD () ;

Sg1Command Dispose (} ; sqiconnection.Close()};

}

catch (Exception ex)

{ literalError.Text =

"<br>Failed: " + ex.Message;

}

søg1Connection.Dispose () ;

} Luu ý: Đối tượng SglConnection, SqlCommand và chuỗi kết nối cơ sở

đữ liệu khai báo bên ngoài như sau:

string connectionString =

WebContigurationManager ConnectionStrings[

"RCVDB2000"] -ConnectionString;

SqlConnection sqlConnection ? Sqg1Command sq1Command :

Khi người sử dụng nhập dữ liệu như hình 17-15, rồi nhấn nút Save thì kết quả trình bày như hình 17-16, trong đó mã số (JobCategoryID) mới

được tạo ra

Trang 28

Category Name: jE

Hình 17-15: Thém moi mau tin

Add New Job Category

New record has been mserted

"Trong đó, phương thức AddParameters cho phép bạn thêm tham số

va gid trị vào đối tượng SqlCommnand có cấu trúc như vi dy 17-5

Khai báo phương thức AddParameters

void AddParameters (SqlCommand sqiCommand,

Trong ví dụ trên, chúng ta có nhu cầu lấy ra mã số lớn nhất để tạo mã

số kế tiếp, bởi vì chúng ta không muốn tạo số tự động tăng Thay vào đó,

chúng ta cần kiểm soát mã số này với lý do kiểu dữ liệu cho số tự động tăng

là kiểu int thay vì tỉnyint

Như vậy, mỗi khi có nhu cầu thêm mới mẩu tìn, bạn tự động thêm sé ứng với JobCategoryID trên điều khiển TextBox có thuộc tính ID là txtÏD

Trang 29

Để làm điều này, bạn khai báo phương thức CreateNewID bằng cách

sử dụng phương thức ExecuteScalar nhu vi du 17-6

?] Khởi tạo đối tugng SqiCommand

Sg1Command z new Sq1Command (} ;

£1 Khai báo thuộc tính cho đối tượng SqlCommand

1] Gọi phương thúc ExecuteScalar của

f1 đối tượng SglCommand

txtID.Text =

sqlCommand.ExecuteScalar() ToString() sqlCommand.Dispose();

Trang 30

JobCategories là số tự động

Trong trang JobCategory.aspx, bạn có thể tìm thấy khai báo gọi

phương thức CreateNewID trong biến cố Page_Load như ví dụ 17-7

í dụ 17-7: Khai báo gọi phương thức

protected void Page_Loađ (objecL sender, EventArgs e)

Để làm điều này, bạn gọi phương thức CreateNewID trong biến cố

Gliek của nút btaNew như ví dụ 17-8

í đụ 17-8: Khai báo gọi phương

protected void btnNew_Click {object sender, EventArgs e)

CreateNewID(};

}

Trang 31

2.3 Phương thức ExecuteReader

Phương thức ExecuteReader dùng để đọc và trả về tập dữ liệu chỉ đọc

và điều hướng một chiều rồi điển vào đối tượng SglDataReader

Khi bạn có nhu cầu đọc tập đữ liệu có số lượng nhỏ hay không có nhu cầu điều hướng trên từng mẩu tin thì sử đụng phương thức này cùng với đối tượng SqlDataReader

Để tìm hiểu chỉ tiết về cách sử dụng phương thức này, bạn tim doc tap

4 của bộ sách “C# 2005 — Lập trình cơ sở dữ liệu” đã phát hành

Chẳng hạn, trong trường hợp này chúng ta khai báo sử dụng phương thức ExecuteReader trong chức năng hiển thị đữ liệu trên các điều khiển ASP.NET 2.0, cho phép người sử dụng cập nhật vào cơ sở đữ liệu như ví đụ

/1 Khai bảo uà khởi tao déi tugng Common

Common cls = new Common () ;

11 Khai bdo goi ham gidi ma chudi QueryString

itemId=

cls.RCVQueryStringDecrypting(itemId) ; /1 Khai bdo va khdi tgo déi tugng SqlConnection

sqlConnection = new SqiConnection();

sqiConnection.ConnectionString = connectionString;

try

{

sglConnection Open () ;

11 Khai báo uà khởi tạo đối tượng SqlCommand

sqlCommand = new Sq1Command QO;

sqiCommand.Commana@Text =

"select * from tblJobCategories"

Trang 32

#2 Untitled Page - Windows Internet Explorer PGES)

oe- | hetp:fflocalhost; 1035) 48 (2) Gouge

Trang 33

Nếu người sử dụng chọn vào mẩu tin có JobCategoryName là Software Development trong hinh 17-18, trang JobCategory.aspx xuất hiện như hình 17-19

Update Job Category

CategortD: BS

Category Name: [Sofware Development _ TS

eee] (New) (Reset)

Hinh 17-19: Cho phép cập nhật dữ liệu

Để cho phép người sử dụng cập nhật đữ liệu, bạn khai báo đoạn chương trình trong biến cố Cliek của nút Save như ví dụ 17-10

Khai báo thêm mẫu tín|

protected void btnSave_Click(object sender,

EventArgs e)

1] Khai bdo va khdi tao déi tugng SqiConnection

sqlConnection = new SqlConnection();

f1 Khai bdo vd khdi tạo déi tuong SqlCommand

sqlCommand = new SqlCommand() ; /1 Khai bdo thuộc tính cho đối tuong SqiCommand

if (btnSave.Text=="Save")

sqiCommand CommangText =

"Insert into tbldobCategories"+

“values (@ID, @Name)";

}

else

{

Trang 34

new string[2]{txtID.Text,txtName.Text});

sqlCommand.Connection = sqlConnection;

sqlCommand.CommandType = CommandType Text;

"New record has been inserted.";

/! Tạo mã mới bằng phuong thitc CreateNewID CreateNewID();

Trang 35

2.4 Phuong thiic ExecuteXmlReader

Tương tự như phương thức ExecuteReader, phuong thức ExecuteXmlReader cho phép bạn đọc dữ liệu theo định dạng XML và điển vào đối tượng XmlReader

Chẳng hạn, bạn khai báo phát biểu SQL dạng SELECT như sau:

select * from tblữcbCategories

for XML Auto

Khi thực thi phat biéu SQL dang SELECT trong SQL Query Analyzer cia SQL Server 2000 hay Microsoft SQL Server Management Studio, kết quả trả về trình bày tương tự như sau:

JobCat egoryName="Engineering and Technology"/>

Để doc dữ liệu này, bạn có thể sử dụng phương thức ExecuteXmlReader nhu vi du 17-12

Trang 36

sqlCommand = new SqlCommand()};

11 Khai báo phát biéu SQL tra vé dit ligu dinh dang XML

// Khai bdo đối tượng XmilReader 0à gọi

catch (Exception ex)

Literall.Text += "Failed:" + ex.Message;

Trang 37

Z2 Untitled Page - Windows Internet Explo a le

Quaility Controt and Test

Engineering and Technology

Hình 17-20: Sứ dụng phương thie ExecuteXmlReader

3 ĐỐI TƯỢNG SQLDATAREADER

Như vừa trình bày trong phần phương thức ExecuteReader, déi tượng SqlDataReader ding dé nim git tập đữ liệu chi đọc và diéu hướng một chiều từ cơ sở đữ liệu SQL Server

Trong tập 4, bạn không thể sử dụng đối tượng SqlDataReader để

trình bày dữ liệu trên điều khiển GridView, nhưng khi làm việc với

ASP.NET, bạn có thể gán đối tượng này cho thuộc tính DataSouree của điều

khiển GridView

Chẳng hạn, bạn khai báo đoạn chương trình trong biến cd Page_Load

của trang dobCategories.aspx để gọi phương thức ExecuteReader rôi điền

dữ liệu vào đối tượng SqlDataReader và trình bày trên điều khiển GridView

như ví dụ 17-18

vi du 17-13: Khai bao

protected void Page_Load (object sender, EventArgs e) {

11 Khởi tạo đối tượng SqlConnectiion

sqlConnection = new Sqlconnection();

sqiConnection.CconnectionString =

Trang 38

(1 Khai bdo vé khdi tao déi tugng SqiCommand

sqlCommand = new Sq1Command (} ; sqlCommand.CommandText =

"select * from tblJobCategories";

sqlCommand.Connection = sqlConnection;

sqlCommand CommandType = CommandType Text;

11 Khai báo đối tượng SạIDo(aReader SqlDataReader sqlDataReader

Khi thực thi chương trình, bạn có thể tìm thấy danh sách mẩu tin

trong bang tblJobCategories trinh bày trên trang dobCategories.aspx như

hình 17-21

Mặc dù cho phép bạn điển dữ liệu vào điều khién GridView tit déi

tượng SqlDataReader, nhưng bạn không thể cài đặt phân trang cho điều khiển này do đữ liệu không được điều hướng

Trang 39

Hinh 17-21; Danh séch méu tin

Vi du, ban khai báo thuộc tinh AllowPaging cia diéu khién GridView ˆ

là True thì lỗi sẽ phát sinh như sau:

The data source does not support server-side data

paging

Trong đó, phương thức CreateLink dùng để tạo ra liên kết trên từng

phương thức của điểu khiến GridView bằng cách sử dụng đối tượng GridViewRow như ví dụ 17-14

void CreateLink (GridView Gridviewl,

stringurl, int £ielđ1đInđex,

int fieldLinkindex)

{

Common cls = new Common O);

foreach (GridViewRow

gridViewRow in Gridviewl Rows)

HyperLink hyperLink = new HyperLink ();

hyperLink Text =

gridViewRow.Cells [f£ieldLinkIndex]} -Text;

hyperLink.NavigateUr1 =url +

"?2TtemTđ=" + c1s RCVQueryStringEncrypt ing (

Trang 40

gridViewRow.Cellis[(fieldIdIndex].Text); gridViewRow.Cells[

1}.Controls.Add(hyperLink) ;

Chú ý: Để tìm hiểu chi tiết về các thuộc tính và phương thức của đối tượng SqlDataReader, bạn có thể tìm đọc tập 4 - quyển 2

4 ĐỐI TƯỢNG SQLDATAADAPTER

Đối tượng SaIDataAdapter đã được giới thiệu trong quyển 2 của tập 4, trong ASP.NET 3.0 bạn có thể sử dụng đối tượng này để đọc dữ liệu và điển vào đối tượng DataSet hay DataTable

Ngoài ra, bạn có thể kết hợp đối tượng SqIDataAdapter với đối tượng 8alCommand để cập nhật dữ liệu từ đối tượng DataSet hay DataTable trở lai eo sở dữ liệu nguồn SQL Server

Chẳng hạn, khi bạn muốn trình bày danh sách tài khoản người sử dung trong bang tblJSAccounts vào điều khiển GridView thi ban có thể khai báo trong biến cố Page_ load của trang Áccounis.aspx tương tự như ví

Ngày đăng: 15/04/2015, 19:15

HÌNH ẢNH LIÊN QUAN

Hình  17-3:  Kết  nối  cơ  sở  đữ  liệu  SQL  Seruer  2005. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 17-3: Kết nối cơ sở đữ liệu SQL Seruer 2005 (Trang 14)
Hình  17-3:  Đăng  ký  kết  nối  cơ  sở  dữ  liệu  SQL  Seruer  2000  từ  SQL  Query - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 17-3: Đăng ký kết nối cơ sở dữ liệu SQL Seruer 2000 từ SQL Query (Trang 15)
Hình  17-28:  Khai  báo  cột  dữ  liệu. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 17-28: Khai báo cột dữ liệu (Trang 42)
Hình  17-35:  Đọc  dữ  liệu  từ ViewState. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 17-35: Đọc dữ liệu từ ViewState (Trang 63)
Hình  19-13:  Phân  tử  chọn. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 19-13: Phân tử chọn (Trang 126)
Hình  18-20:  Lỗi  phát  sinh  do  chưa  khai  báo  biến  cố, - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 18-20: Lỗi phát sinh do chưa khai báo biến cố, (Trang 133)
Hình  20-9:  Giao  điện  trang  XmlDocumentPage.aspx. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 20-9: Giao điện trang XmlDocumentPage.aspx (Trang 171)
Hình  20-13:  Trình  bày  nội  dung  tép  tin  Books.xml. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 20-13: Trình bày nội dung tép tin Books.xml (Trang 178)
Hình  20-15:  Nội  dung  tập  tin  Boobs.xmi. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 20-15: Nội dung tập tin Boobs.xmi (Trang 183)
Hình  90-80:  Đọc  dit  ligu  XML. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 90-80: Đọc dit ligu XML (Trang 198)
Hình  22-11:  Tao  trang  MasterPage. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh 22-11: Tao trang MasterPage (Trang 251)
Hình  UD-5:  Dơnh  sách  ngành  nghề. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh UD-5: Dơnh sách ngành nghề (Trang 262)
Hình  UD-9:  Tin  tuyển  dụng  theo  tỉnh  thành. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh UD-9: Tin tuyển dụng theo tỉnh thành (Trang 266)
Hình  UD-14:  Khơi  báo  từng  ký  tự. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh UD-14: Khơi báo từng ký tự (Trang 270)
Hình  UD-48:  Thông  tin  của  công  ty. - C# 2005. Tập 5. Lập trình ASP.NET 2.0 - Quyển 4 - Đối tượng ADO.NET 2.0 và XML
nh UD-48: Thông tin của công ty (Trang 327)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w