Thiết kế giao diện * Thiết kế giao diện ở chế độ Source - Sử dụng các thẻ HTML để thiết kế - Trong chỉ thị @Page các thuộc tính: + Language: ngôn ngữ sử dụng + CodeFile: tập tin mã nguồ
Trang 1TẬP BÀI GIẢNG LẬP TRÌNH ỨNG DỤNG WEB
GV: Nguyễn Thị Thanh Thuận Nguyễn Bá Phúc
TP HCM, tháng 5/2010
Trang 2MỤC LỤC
Chương 1: Giới thiệu ASP.NET 5
1.1 Giới thiệu 5
1.2 Xây dựng ứng dụng web đơn giản 5
1.2.1 Tạo ứng dụng web 5
1.2.1.1 Thiết kế giao diện 7
1.2.1.2 Mã nguồn xử lý 8
1.2.2 Lưu lại trang web 8
1.2.3 Biên dịch và chạy ứng dụng web 9
1.2.4 Mở ứng dụng Web 10
1.2.5 Thêm trang web mới 11
1.3 IsPostBack 12
Chương 2: Web Control 13
2.1 Giới thiệu 13
2.2 HTML Server Control 13
2.3 ASP.NET Web Control 13
2.4 ASP.NET List Control 16
2.6 ASP.NET Validation Control 20
2.6.1 RequiredFieldValidator 20
2.6.2 RangeValidator 20
2.6.3 CompareValidator 20
2.6.4 RegularExpressionValidator 21
2.6.5 CustomValidator 21
2.6.6 ValidationSummary 21
Chương 3: Master Page, CSS, User Control 22
3.1 Master Page và Style Sheet 22
3.1.2 Tạo trang Master page 22
3.1.2.1 Tạo thư mục cho trang Master Page 22
3.1.2.3 Thiết kế trang layout 23
3.1.3 Cascading Style Sheets (CSS) 24
3.1.3.1 Dùng Style cho Master Page 24
3.1.3.2 Dùng Style cho ContentPlaceHolder 25
3.1.4 Sử dụng trang Master Page 25
Trang 33.2 Web User Control 27
3.2.1 Tạo một Web User Control 27
3.2.2 Sử dụng Web User Control 28
Chương 4: Các đối tượng trong ASP.NET 29
4.1 ViewState 29
4.2 Response 29
4.3 Request 29
4.4 Application 30
4.5 Session 30
4.6 Cookies 31
4.7 Server 32
4.8 Exception 34
Chương 5: Kết nối dữ liệu với ADO.NET 36
5.1 Giới thiệu 36
5.2 Các đối tượng trong ADO.NET 36
5.2.1 Connection 36
5.2.2 Command 36
5.2.2.1 Thuộc tính 36
5.2.2.2 Phương thức 37
5.2.3 DataReader 37
5.2.4 DataAdapter 38
5.2.5 DataSet 38
5.2.6 DataTable 38
5.2.7 DataView 38
5.3 Kết nối dữ liệu trong ASP.NET 38
5.3.1 Thêm 38
5.3.2 Xoá 39
5.3.3 Hiệu chỉnh 40
Chương 6: Điều khiển liên kết dữ liệu 43
6.1 Giới thiệu 43
6.2 GridView 43
6.3 DataList 45
6.3.1 Các thành phần của DataList 46
6.3.2 Tạo điều khiển DataList 46
6.3.3 Tạo nguồn dữ liệu cho DataList dùng AccessDataSource 47
6.3.4 Thiết kế giao diện cho các thành phần trong DataList 48
Trang 46.3.5 Liên kết dữ liệu cho các thành phần trong DataList 49
6.3.6 Lập trình sử dụng DataList 52
6.5 DetailView 58
6.5.1 Các thành phần của DetailsView 58
6.5.2 Tạo điều khiển DetailsView 59
6.5.3 Tạo nguồn dữ liệu cho DetailsView dùng AccessDataSource 59
6.5.4 Thiết kế giao diện cho các thành phần trong DetailsView 61
Chương 7: Khác 64
7.1 IIS 64
7.1.1 Hướng dẫn cài đặt IIS cho windows 2000, XP 64
7.1.3 Trang Web đầu tay 68
7.1.4 Quản lý trình chủ Web Server 70
7.2 Javascript trong ASP.NET 73
7.3 AJAX 84
7.3.1 Giới thiệu 84
7.3.1.1 Tổng quan về mô hình ứng dụng Web 84
7.3.1.2 Giới thiệu về AJAX 85
7.3.2 Kỹ thuật lập trình AJAX 86
7.3.2.1 Xử lý hệ khách (Client) 86
7.3.2.2 Xử lý hệ phục vụ (Server) 88
7.3.3 Ví dụ 89
7.4 Web Service 94
7.4.1 Giới thiệu 94
7.4.2 Đặc điểm 95
7.4.3 Kiến trúc của Web Services 95
7.4.4 Các thành phần của Web Service 95
7.4.5 Ví dụ xây dựng web service đơn giản 96
Trang 5Chương 1: Giới thiệu ASP.NET
1.1 Giới thiệu
ASP.NET là công nghệ xử lý web phía máy chủ, độc lập với mọi trình duyệt,
Kỹ thuật áp dụng là cho phép mọi thực thi được thực hiện ở trình chủ, tức là trình chủ phải xử
lý nhiều vấn đề cùng lúc cho nhiều người dùng trình chủ phải có cấu hình mạnh và băng thông tốt Tương thích với asp 3.0
1.2 Xây d ựng ứng dụng web đơn giản
1.2.1 Tạo ứng dụng web
- Vào menu Start -> Programs -> Microsoft Visual Studio 2005 -> Microsoft Visual
Studio 2005
- Giao diện Visual Studio 2005 có dạng như sau:
- Vào menu File->New->Website
Trang 6- Chọn ASP.NET Web Site trong Templates
Cuối cùng click chuột vào nút OK để tiến hành tạo Web Site
Trang 71.2.1.1 Thiết kế giao diện
* Thiết kế giao diện ở chế độ Source
- Sử dụng các thẻ HTML để thiết kế
- Trong chỉ thị @Page các thuộc tính:
+ Language: ngôn ngữ sử dụng + CodeFile: tập tin mã nguồn xử lý + Inherits: lớp
* Thiết kế giao diện ở chế độ Design
- Sử dụng các control trên thanh công cụ Toolbox để thiết kế
- Thanh công cụ Toolbox bao gồm tập hợp các điều khiển web (web control) dùng để xây dựng ứng dụng web chia ra thành các nhóm control sau:
+ Standard: là những điều khiển chuẩn của web form như: Label, Button,
TextBox
+ Data: là những điều khiển cho phép thao tác với dữ liệu
+ Validation: là những điều khiển cho phép kiểm tra tính hợp lệ của các điều khiển nhập dữ liệu trên web form
+ Navigation: là những điều khiển cho phép di chuyển giữa các trang trong cùng website
+ Login: là những điều khiển liên quan đến bảo mật của ứng dụng web như đăng nhập, thay đổi mật khẩu,…
+ HTML: là những điều khiển của tài liệu HTML và có thể được chuyển thành các điều khiển làm việc trên server (HTML Server Control)
Trang 81.2.1.2 Mã nguồn xử lý
- Phương thức Page_Load được gọi mỗi khi trang aspx được tải (load)
- Giao diện mã nguồn ở chế độ Code C#:
1.2.2 Lưu lại trang web
Để lưu lại các trang web đã tạo trong website, vào menu File -> Save All hoặc nhấn tổ hợp phím Ctrl+Shift+S
Trang 9Nếu một số trang web có sử dụng chữ Tiếng Việt Unicode thì trong quá trình lưu các trang web, Visual Studio sẽ yêu cầu lưu lại trang web với kiểu mã hoá Unicode
Chọn Save With Other Encoding
Trong Encoding chọn Unicode (UTF-8 with signature) – Codepage 65001
1.2.3 Biên dịch và chạy ứng dụng web
Để biên dịch và chạy ứng dụng web vào menu Debug -> Start Debugging hoặc nhấn phím F5
Trang 101.2.4 Mở ứng dụng Web
Để mở một ứng dụng web, vào menu File -> Open -> Website
Trang 111.2.5 Thêm trang web mới
Trong Solution Explorer, click phải vào Website, chọn Add New Item…
Trong Templates, chọn Web Form, sau đó nhập tên trang web vào ô Name và click vào
OK
Lưu ý:
Trang 12Nếu chọn “Place code in separate file” thì tập tin mã nguồn xử lý sẽ được tách riêng
khỏi tập tin Web Form
1.3 IsPostBack
Thuộc tính IsPostBack:
+ Thuộc tính của Page có kiểu dữ liệu bool (true, false)
+ Nếu trả về giá trị false khi trang được nạp lần đầu tiên
+ Nếu trả về giá trị true khi trang được nạp lần tiếp theo
protected void Page_Load(object sender, EventArgs e)
Trong biểu thức logic của cấu trúc if trên
!IsPostBacktương đương với IsPostBack == false
Trang 13Chương 2: Web Control 2.1 Giới thiệu
Text Nội dung hiển thi
Visible Cho phép hiển thị hay không (true/false)
TextMode SingleLine(mặc định), Multiline
(rows,columns), Password
AutoPostBack Tự động PostBack lên Server khi Textbox có
thay đổi, mặc định là False AutoCompleteType None / Disabled / Company / …
Trang 14ImageUrl Đường dẫn hình ảnh làm nhãn liên kết
NavigateUrl Đường dẫn liên kết
Text: nội dung hiển thị
Checked: cho biết trạng thái của mục chọn (có được chọn hay không)
AutoPostBack: thuộc tính này cho biết có được phép tự động PostBack về Server khi các mục chọn của điều khiển bị thay đổi Gía trị mặc định của thuộc tính này là false (không tự động PostBack)
Trang 16Trang aspx
< asp : Image ID="Image1" runat="server"
ImageUrl="~/BaiGiang3/Hinh/Garden.jpg" Height="228px" Width="306px" />
2.4 ASP.NET List Control
AutoPostBack false: Khi người dùng thay đổi giá trị của ListControl
thì trang web sẽ không được triệu gọi cho đến khi dùng submit
True: Trang web sẽ submit mỗi khi người dùng thay đổi giá trị của ListControl
DataSource Gán hay trả về đối tượng chứa dữ liệu
DataTextField Gán hay trả về tên trường cung cấp nhãn choListControl
DataValueField Gán hay trả về tên trường cung cấp giá trị cho
ListControl SelectedIndex Gán hay trả về chỉ số của phần tử được chọn trong
ListControl Trường hợp chọn nhiều phần tử phải sử dụng thuộc tínhSelectedcủa đối tượngListItem
SelectedItem Trả về phần tử được chọn trongListControl
SelectedValue Trả về giá trị của phần tử được chọn trong ListControl
Items Trả về tập các giá trị của các phần tử trongListControl
2.4.1 RadioButtonList (<asp:RadioButtonList>)
Trang aspx:
<form id="form1" runat="server">
Trang 17<asp:RadioButtonList ID="RadioButtonList1" runat="server"
RepeatDirection="Horizontal">
<asp:ListItem Value="1"> Nam </asp:ListItem>
<asp:ListItem Value="0"> N ữ </asp:ListItem>
<asp:ListItem Value="0"> Cao đẳng </asp:ListItem>
<asp:ListItem Value="1"> Trung cấp </asp:ListItem>
string [] C = new string [4] { "CĐTH" , "CĐCK" , "CĐĐT" , "CĐVT" };
string [] T = new string [3] { "TCTH" , "TCCK" , "TCKT" };
Trang 18< asp : Button ID="btn_Chon" runat="server" Text ="Chọn" OnClick="btn_Chon_Click"/>
Trang 19SelectionMode Single/Multiple: chọn một/nhiều phần tử cùng lúc
<asp:ListItem> Xem phim </asp:ListItem>
<asp:ListItem> Thể thao </asp:ListItem>
<asp:ListItem> Du lịch </asp:ListItem>
<asp:ListItem> Nghe nhạc </asp:ListItem>
<asp:ListItem> Kh á c </asp:ListItem>
}
2.5 FileUpload Control (<asp:FileUpload>)
Trang aspx:
<asp:FileUploadID="FileUpload1" runat="server" />
<asp:ButtonID="Button1" runat="server" OnClick="Button1_Click" Text="Lưu" />
Kích thước tập tin upload giới hạn là: 4MB (4096KB) Có thể thay đổi giới hạn này như sau:
Trong tập tin Web.configthêm trong thẻ <system.web>
Trang 20<httpRuntime executionTimeout= " 90 " maxRequestLength= "4 096 " />
2.6 ASP.NET Validation Control
Kiểm tra tính hợp lệ của dữ liệu nhập vào form, việc kiểm tra được thực hiện khi nhấp vào Button trong form Nếu muốn bỏ qua tác dụng của Validation Control khi nhấn vào Button thì chọn thuộc tính CausesValidation = false
Thuộc tính chung
ControlToValidate: gán/trả về tên điều khiển cần kiểm tra
ErrorMessage: chuỗi lỗi phát sinh nếu kiểm tra không hợp lệ
Enabled: gán/trả về giá trị Boolean chỉ ra rằng nếu quá trình kiểm tra giá trị của điều khiển được thực hiện Gán True nếu muốn kiểm tra dữ liệu nhập bằng các Validation Control, false vô hiệu hóa quá trình kiểm tra
EnableClientScript: gán/trả về giá trị Boolean chỉ ra rằng cho phép kiểm tra giá trị của điều khiển trên phía trình khách (JavaScript)
Kiểm tra điều khiển phải là chuỗi, số, ngày, … Nếu rỗng thì không kiểm tra
Thuộc tính: MaximumValue, MinimumValue, Type (String, Interger, Date, …), …
Trang aspx:
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage ="Từ 1 đến 10 triệu"
MaximumValue="10000000" MinimumValue="1" > </asp:RangeValidator>
Trang 21Thực hiện kiểm tra do người dùng tự định nghĩa
Thuộc tính:ClientValidationFunction, OnServerValidation
2.6.6 ValidationSummary
Tập hợp các thông báo lỗi
Thuộc tính:DisplayMode, ShowMessageBox, ShowSummary, …
Trang 22Chương 3: Master Page, CSS, User Control
3.1 Master Page và Style Sheet
3 1.1 Giới thiệu về Master Page
Một Website chuyên nghiệp cần một khung nhìn và cảm giác nhất quán làm cho người dùng biết họ đang ở đâu trong website cũng như dễ dàng chuyển từ trang này sang trang khác (tham khảo thêm tài liệu “7 bước để thiết kế web hiệu quả” tác giả Lê Đình Duy)
Master Page là cách tốt giúp cho website có khung nhìn nhất quán Vì cho phép ta định nghĩa vị trí xuất hiện của phần nội dung trên mỗi trang
Master Page còn cho phép ta định nghĩa các định dạng chung cho tất cả các trang trên cùng một website
Ví dụ:
Các hình bên dưới cho cho thấy một khung nhìn chung cho các trang Vùng màu xám
sẽ là vùng giống nhau ở mỗi trang Vùng màu trắng là vùng phân biệt của mỗi trang
3.1.2 Tạo trang Master page
3.1.2.1 Tạo thư mục cho trang Master Page
Tạo một thư mục trên Website giúp dễ quản lý các tập tin thiết kế, mã nguồn
Maste Page nên đặt trong 1 thư mục của Website
Thực hiện:
Click phải chuột trên Solution Explorer, chọn New Folder 3.1.2.2 Tạo trang Master Page
Các bước thực hiện:
Trang 231 Trong Solution Explorer, click phải chuột vào thư mục muốn đặt trang Master Page và chọn Add New Item
2 Trong hộp thoại Add New Item, click Master Page
3 Nhập tên tên trang Master Page (có thể để tên mặc định là: MasterPage.master)
4 Chọn ngôn ngữ lập trình (C#/VB.NET)
5 Chọn check box “Place code in separate file”
6 Click vào nút Add
3.1.2.3 Thiết kế trang layout
Các bước thực hiện:
1 Từ màn hình thiết kế, chọn Layout ➪Insert Table
2 Trong hộp thoại Insert Table, chọn Template
3 Chọn một template từ drop-down list
4 Click OK
Trang 24ContentPlaceHolder: nơi chưa nội dung riêng của từng trang web
Layout của trang chỉ là 1 table, mỗi khung nhìn (layout) chỉ là một cell trong bảng
được định nghĩa bằng cặp thẻ <td> và </td> trong HTML Có thể xem source HTML bằng
cách click vào nút Source
3.1.3 Cascading Style Sheets (CSS)
Cascading Style Sheets (CSS) là một cơ chế đơn giản dùng cho việc thêm các định dạng (style) (như font, màu, khoảng cách …) cho một trang Web
3.1.3.1 Dùng Style cho Master Page
Mỗi khung (pane) của trang Master Page là một cell trong bảng Do đó, ta có thể định dạng cho mỗi khung (pane) của trang Master Page
Thực hiện:
1 Click phải chuột vào khung (pane) muốn định dạng chọn Style
2 Hộp thoại Style Builder xuất hiện, tiến hành định dạng cho khung
Trang 253.1.3.2 Dùng Style cho ContentPlaceHolder
Click phải chuột vào vùng trống nằm ngoài khung ContentPlaceHolder, chọn Style
3.1.4 Sử dụng trang Master Page
Để sử dụng Master Page, ta tạo một Web Form mới
Các bước thực hiện:
Trang 261 Click phải chuột vào tên Website trên Solution Explorer và chọn Add New Item
2 Trong hộp thoại Add New Item, chọn Web Form
3 Trong ô Name, nhập trên trang Web
4 Chọn vào checkbox “Select Master Page”
5 Click vào nút Add
6 Trong hộp thoại “Select a Master page”, chọn trang Master Page
7 Click OK
Trang 27Câu hỏi:
1 Bổ sung trang Master Page cho một trang Web đã có sẵn
2 Vấn đề chèn hình vào Master Page, Web Form
3.2 Web User Control
Web User Control là điều khiển do người dùng tự định nghĩa riêng dùng để chức năng hoá (functionality) một control mà không được cung cấp sẵn trong ASP.NET Ta có thể design và xây dựng giống như một Web Form
3.2.1 Tạo một Web User Control
Để tạo một Web User ta thực hiện như sau:
1 Trong Solution Explorer, click phải chuột vào Solution chọn Add New Item
2 Trong hộp thoại Add New Item, chọn Web User Control
3 Nhập vào ô Name tên của tập tin Web User Control
4 Chọn ngôn ngữ (VB.NET/C#)
5 Click vào nút Add
Trang 283.2.2 Sử dụng Web User Control
Kéo thả Web User Control từ Solution Explorer vào trang Web đang thiết kế (chẳng hạn Master Page, Web Form, …)
Trang 29Chương 4: Các đối tượng trong ASP.NET
4.1 ViewState
Lưu thông tin của mỗi WebForm do Server quản lý, chứa thông tin của tất cả các người dùng trong trang Khi trả về cho trình khách, ViewState được trình bày dưới dạng thẻ hidden và có giá trị được mã hóa Có thể vô hiệu hóa hay cho phép viewstate bằng cách sử dụng thuộc tính EnableViewState trong từng thẻ hay trong trang cấu hình của ứng dụng
ViewState[ "dem" ] = ( int )ViewState[ "dem" ]+1;
Label1.Text = "lần load " +ViewState[ "dem" ];
}
4.2 Response
HttpResponse được dùng để chuyển dữ liệu từ Server về Client
Gởi tất cả thông tin xử lý cho các client, chúng ta có thể sử dụng đối tượng này để giao tiếp với người dùng
Phương thức
Write: xuất thông tin dạng chuỗi ra trang web, không thể qui định vị trí xuất
Redirect: chuyển sang địa chỉ khác
WriteFile: ghi luồng dữ liệu ra tập tin
Clear, end, flush…
HttpRequest được dùng để chuyển dữ liệu từ Client về Server
Nhận tất cả giá trị mà trình duyệt của client gởi đến server thông qua một yêu cầu HTTP request
Trang 30Ví dụ 1
<asp:HyperLink ID="HyperLink1" runat="server"> HyperLink </asp:HyperLink>
protected void Page_Load( object sender, EventArgs e)
bộ người dùng và có thể tồn tại trong cả chu trình sống của website
4.5 Session
Session được dùng để lưu trữ các thông tin dùng cho một phiên làm việc của một người dùng Các biến được lưu trữ trong đối tượng này sẽ không bị hủy khi người dùng chuyển từ trang này sang trang khác Lưu các thông tin riêng biệt cho từng phiên làm việc Khi người dùng yêu cầu một trang web từ một ứng dụng, Web server tự động tạo ra một đối tượng Session và đối tượng Session này sẽ tự động bị hủy khi người dùng không có yêu cầu gởi
Trang 31đến Web server sau khoảng thời gian timeout Dữ liệu lưu trong Session sẽ được chia sẽ cho tòan bộ ứng dụng của 1 người dùng
Thuộc tính TimeOut: đặt thời gian hết hạn (tính bằng phút, mặc định là 20)
Phương thức Abandon: hủy Session hiện hành ngay lập tức
Tập tin global.asax:
Tập tin này được dùng khi cần khai báo và viết các xử lý cho các sự kiện của biến
Application, Session
<%@ Application Language ="C#" %>
< script runat ="server">
void Application_Start(object sender, EventArgs e)
Trang 32{
HttpCookie cookie = Request.Cookies[ "LastVisit" ];
Label2.Text = "Lần cuối bạn truy cập là" + cookie.Value;
Response.Cookies[ "LastVisit" ].Value = DateTime.Now.ToString();
Response.Cookies[ "LastVisit" ].Expires = DateTime.Now.AddDays(1);
Đối tượng Server thuộc lớp HttpServerUtilitycung cấp các phương thức dùng cho việc
xử lý các yêu cầu từ phía Server
Đặt giá trị thời gian tối đa nhận yêu cầu từ client là 60 giây
Lấy đường dẫn vật lý của thư mục ảo MyWebSite trên máy chủ web:
String FilePath;
FilePath = Server.MapPath("/MyWebSite");
Trang 332
UrlEncode
Mã hoá chuỗi địa chỉ URL dùng cho việc truyền từ máy chủ Web đến client thông qua giao thức HTTP
Ví dụ minh hoạ việc mã hoá chuỗi địa chỉ URL trước khi gửi chuỗi địa chỉ này cho trình duyệt web ở client Chẳng hạn, MyURL được mã hoá thành
"http%3a%2f%2fwww.abc.com%2far ticles.aspx%3ftitle+%3d+ASP.NE T+Examples"
String MyURL;
MyURL =
"http://www.abc.com/articles.a spx?title = ASP.NET Examples";
Response.Write( "<A HREF = " + Server.UrlEncode(MyURL) + "> ASP.NET Examples <br>" );
3
UrlDecode
Giải mã chuỗi được mã hoá từ giao thức HTTP và gửi cho server bằng địa chỉ URL
Ví dụ minh hoạ việc giải mã chuỗi EncodedString (được nhận trong địa chỉ URL) sang chuỗi
DecodedString
String DecodedString = Server.UrlDecode(EncodedString );
4
Transfer
Ngừng thực thi trang web hiện hành và bắt đầu thực thi (mở) một trang web mới
Có chức năng tương tự như: Response.Redirect Tuy nhiên,
Server.Transfer chỉ dùng để mở 1 trang web mới trong cùng website với trang web hiện tại
Mở trang Index.aspxServer.Transfer("Index.aspx");
Trang 34- Exceptionthường kết hợp với lệnh try…catch
- Thuộc tính quan trọng:
+ Message: Cho biết mô tả thông tin về lỗi
Ví dụ: Xây dựng trang web tính bình phương của 1 số nguyên
Trang aspx:
<asp : Label ID="Label1" runat="server" Text="n:"></ asp : Label >
< asp : TextBox ID="txt_n" runat="server"></ asp : TextBox >< br />
< asp : Button ID="btn_TinhBinhPhuong" runat="server" Text ="Bình phương" OnClick="btn_TinhBinhPhuong_Click" />< br />
Trang 35//Nếu xảy ra lỗi thì xuất thông báo lỗi
lb_KetQua Text = ex Message ;
}
}
Nếu nhập n ="abc" thì xuất hiện thông báo lỗi Vì n không phải là số nguyên
Trang 36ADO.NET chia làm hai loại: lớp kết nối Connected Layer và lớp không kết nối Disconnected Layer, hai lớp này được sử dụng song song trong cùng ứng dụng, thao tác trên CSDL như SQL Server, My SQL, MS Access, Oracle và cơ sở dữ liệu phân cấp khác
Khi muốn sử dụng các đối tượng này, tùy vào loại nguồn dữ liệu cần khai báo:
using System.Data.OleDb;
using System.Data.SqlClient;
Trong phần này chúng ta sẽ làm các ví dụ trên bảng dữ liệu
5.2 Các đối tượng trong ADO.NET
Connection: chứa đối tượng kết nối
CommandText: chứa câu lệnh SQL
Parameters: tập hợp các tham số
Trang 375.2.2.2 Phương thức
ExecuteReader: trả về đối tượng DataReader, đọc dữ liệu từng dòng trực tiếp từ nguồn
ExecuteScalar : thi hành câu truy vấn và chỉ trả về 1 giá trị của cột
đầu tiên của dòng đầu tiên
ExecuteNonQuery : gọi thi hành các câu truy vấn Insert, Update, Delete và trả về số dòng chịu tác động (nếu không có thì trả về -1)
hoặc gọi thi hành các Stored Procedure không có dữ liệu trả về
nhưng có thể có các tham số đầu ra
ChuoiTruyVan = "select count(*) from ThanhVien" ;
OleDbCommand m = new OleDbCommand();
Thường được dùng để hiển thị dữ liệu ra màn hình 1 lần, kiểm tra dữ liệu có tồn tại hay không
ChuoiTruyVan= "select * from ThanhVien" ;
OleDbCommand m= new OleDbCommand();
Trang 38string ChuoiKetNoi;
ChuoiKetNoi = "server=localhost;UID=;PWD=;database=Sach;Integrated Security=True;" ;
SqlConnection c = new SqlConnection (ChuoiKetNoi );
c.Open ();
string ChuoiTruyVan;
ChuoiTruyVan= "select * from NhaXuatBan" ;
SqlCommand m= new SqlCommand();
Kết nối nguồn dữ liệu và điền dữ liệu vào bộ nhớ thường trú DataSet
Thuộc tính: SelectCommand, InsertCommand, UpdateCommand, DeleteCommand tương ứng các phát biểu SQL dùng để thao tác dữ liệu trên DataSet
Phương thức Fill: thực thi SelectCommand và điền dữ liệu vào đối tượng DataSet
Phương thức Update: gọi đối tượng Command để thực thi InsertCommand, UpdateCommand, DeleteCommand
5.2.5 DataSet
DataSet được xem như ảnh của một nguồn dữ liệu thu nhỏ có khả năng hoạt động độc lập khi ngắt kết nối DataSet có thể chứa các bảng (DataTable), view (DataView), quan hệ (Relations), ràng buộc (Contraints) như một Database thật sự
5.2.6 DataTable
5.2.7 DataView
5.3 Kết nối dữ liệu trong ASP.NET
5.3.1 Thêm
Trang 39protected void Lưu_Click( object sender, EventArgs e)
m.Parameters.Add( "a1" ,t1.Text);
m.Parameters.Add( "a2" ,t2.Text);
m.Parameters.Add( "a3" ,t4.Text);
m.Parameters.Add( "a4" , t5.Text);
ChuoiTruyVan = "insert into
ThanhVien(Ten,MatKhau,Email,SoDangKy) values(a1,a2,a3,a4)" ; }
Trang 40c.Open();
string ChuoiTruyVan;
ChuoiTruyVan = "select * from ThanhVien" ;
OleDbCommand m = new OleDbCommand();
ChuoiTruyVan = "delete * from ThanhVien where Ten=a1" ;
OleDbCommand m = new OleDbCommand();