Môi trường phát triển Visual Studio .NET là môi trường tích hợp phát triển phần mềm Integrated Development Environment IDE của Microsoft, là công cụ cho phép bạn viết mã, gỡ rối và biên
Trang 1VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ TIN HỌC
BÀI TẬP LỚN Môn: LẬP TRÌNH WEB (ASP.NET)
Giảng viên hướng dẫn: Lê Hữu Dũng
Sinh viên thực hiện: Cao Đình Sơn
Trang 3MỤC LỤC
CHƯƠNG I: GIỚI THIỆU VỀ VISUAL STUDIO.NET 4
1 Môi trường phát triển 4
2 Các thuộc tính 4
CHƯƠNG II: GIỚI THIỆU VỀ SQL SERVER 6
1 Đặc điểm của SQL Server 6
2 Các thành thần SQL Server 6
3 Công cụ và một số tiện ích 6
CHƯƠNG III: CƠ SỞ DỮ LIỆU VÀ CODE WEB 8
I Cơ Sở dữ liệu: 8
TÀI LIỆU THAM KHẢO 12
Trang 4CHƯƠNG I: GIỚI THIỆU VỀ VISUAL STUDIO.NET
1 Môi trường phát triển
Visual Studio .NET là môi trường tích hợp phát triển phần mềm
(Integrated Development Environment (IDE) ) của Microsoft, là công cụ cho
phép bạn viết mã, gỡ rối và biên dịch chương trình trong nhiều ngôn ngữ lập trình NET khác nhau
.NET được developed từ đầu năm 1998, lúc đầu có tên là Next
Generation Windows Services (NGWS) Nó được thiết kế hoàn toàn từ con
số không để dùng cho Internet Viển tượng của Microsoft là xây dựng một
globally distributed system, dùng XML (chứa những databases tí hon) làm
chất keo để kết hợp chức năng của những computers khác nhau trong cùng một tổ chức hay trên khắp thế giới
Những computers nầy có thể là Servers, Desktop, Notebook hay Pocket Computers, đều có thể chạy cùng một software dựa trên một platform duy nhất, độc lập với hardware và ngôn ngữ lập trình Đó là NET Framework Nó
sẽ trở thành một phần của MS Windows và sẽ được port qua các platform khác, có thể ngay cả Unix
Khởi động visual studio.NET: Khi bắt đầu chạy Visual Studio.Net lần đầu
tiên, ta thấy màn hình Start Page, click vào project của phần Open và duyệt
một dự án trong phần ASPX
Chạy project: Click nút Build Solution trong Build menu để biên dịch
solution Click Debug trong Start menu hoặc ấn phím F5
2 Các thuộc tính
Cửa sổ Solution Explorer
Liệt kê tất cả các file trong solution
Hiển thị nội dung của một project mới hay một file đã mở
Trang 5Bài tập lớn môn NET
Start up project là project được thực hiện khi chạy chương trình (nó được
in đậm trong solution explorer)
Dấu + hay - được dùng để khai triển hay rút gọn cây(cũng có thể bung hay rút gọn cây bằng cách kích đúp vào tên file)
Thanh công cụ của solution explorer
Thanh công cụ Toolbox
Bao gồm các hộp điều khiển có khả năng tái sử dụng, cho phép lập trình trực quan “kéo và thả”
Toolbox có thể ẩn tự động bên cạnh trái của IDE.Nó sẽ hiện ra khi chuột được di qua Biểu tượng ghim cài cho phép tắt chức năng ẩn tự động này
Cửa sổ thuộc tính Properties
Vận dụng thuộc tính của form hay control
Mỗi control có tập thuộc tính riêng(kích thước,màu sắc,vị trí, )
Chia làm hai cột: Cột bên trái là thuộc tính,cột bên phải là giá trị
Biểu tượng
Alphabetic: sắp xếp thuộc tính theo bảng chữ cái
Categorized: sắp xếp thuộc tính theo loại Event: để riêng những phản ứng đối với người sử dụng.
Trang 6CHƯƠNG II: GIỚI THIỆU VỀ SQL SERVER
SQL Server là hệ quản trị CSDL Client/Server: Định nghĩa, chỉnh sửa
CSDL, lược đồ, quan hệ giữa các lược đồ Thêm, sửa, xóa thông tin lưu trong các lược đồ Hỗ trợ các tính năng bảo mật, sao lưu phục hồi, cấp quyền truy nhập Quản lý được dư thừa dữ liệu Đảm báo tính nhất quán
dữ liệu Khả năng chia sẻ dữ liệu(phân quyền truy cập) Quản lý tính toàn vẹn dữ liệu
1 Đặc điểm của SQL Server
Thích hợp trên các hệ điều hành Windows, dễ cài đặt, hoạt động với nhiều giao thức truyền thông, hỗ trợ dịch vụ Data Warehousing, thích hợp với chuẩn ANSI/ISO SQL-92, cung cấp dịch vụ tìm kiếm Full-Text
Tables (bảng): Ma trận gồm các hàng và các cột giao nhau Các bảng có quan hệ với nhau qua các thuộc tính chung
2 Các thành thần SQL Server
SQL Server Agent Service: Quản lý các tác nhân trợ giúp cho
MSSQL Server Service, quản lý các tiến trình của server, cảnh báo các khả năng gây đổ vỡ hệ thống, xử lý tránh gây hại tới CSDL( tự động sao lưu phục hồi khi gặp sự cố)
MSSQL Server Service: Quản lý Server và xử lý, đáp ứng các yêu cầu
từ Client, quản lý và phân chia tài nguyên, ngăn cản sự xung đột khi nhiều người cùng truy nhập, đảm bảo tính toàn vẹn dữ liệu, đồng nhất dữ liệu
Microsoft Distributed Transaction Coordinator (MS DTC) Service:
Quản lý các giao tác: tránh xung đột khi đồng thời sử dụng tài nguyên, đảm bảo khả năng hoàn thiện giao tác hoặc hủy bỏ khi chưa thực hiện hoàn chỉnh
Microsoft Search Service(MSS): MSS cung cấp chức năng tìm kiếm
dữ liệu văn bản Với các phép toán =, >, >=, <, <= so sánh các chuỗi, hằng
- So sánh các chuỗi hằng trong văn bản
- So sánh các chuỗi có kích thước lớn
3 Công cụ và một số tiện ích
Trang 7Bài tập lớn môn NET
Service Manager: Quản lý cung cấp các dịch vụ của SQL Server, SQL
Server muốn truy cập được CSDL thì dịch vụ Service Manager phải chạy
Import and Export Data: Cho phép tạo và truy xuất dữ liệu từ các
nguồn khác nhau Dữ liệu từ các hệ khác vào SQL Server và ngược lại
Create and Manipulate Database: Hỗ trợ giao diện đồ họa cho phép
quản lý CSDL
Query Analysis: Là tiện ích giúp thực hiện các câu lệnh truy vấn SQL.
Rất đơn giản, giao diện trực quan Môi trường rất tốt cho việc kiểm tra các câu lệnh SQL Cho phép tạo, quản lý CSDL dưới dạng các câu lệnh Muốn đăng nhập phải có User và Password
Backup Database: Là tiện ích giúp sao lưu CSDL và phục hồi khi có
bất thường xảy ra
Trang 8CHƯƠNG III: CƠ SỞ DỮ LIỆU VÀ CODE WEB
1 Thiết kế cơ sở dữ liệu:
Cơ sở dữ liệu chưa thông tin liên quan đến Website bao gồm 4 bảng:
Bảng tblUsers: Lưu thông tin về người dùng (Mã người dùng, tên truy cập, mật khẩu, số lần truy cập).
Bảng tblCategories: Lưu thông tin về chủ đề tin (Mã chủ đề, tên chủ đề, mô tả).
Bảng tblNews: Lưu thông tin về bản tin theo người dùng (Mã tin, tiêu đề, tóm tắt, nội dung, ngày đăng, số lần xem, đã kiểm duyệt chưa, mã người dùng).
Bảng tblNewsCategory: Lưu thông tin theo chủ đề, mỗi chủ đề có thể có nhiều tin, mỗi tin có thể thuộc nhiều chủ đề
2 Bảng liên kết cơ sở dữ liệu
II Code Web
Trang 9Bài tập lớn môn NET
* Code trang giao diện
* <% @ Page Language ="C#" AutoEventWireup ="true"
CodeFile ="New_Search.aspx.cs" Inherits ="New_Search" %>
*
* <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
* < html xmlns ="http://www.w3.org/1999/xhtml">
* < head id ="Head1" runat ="server">
* < title > Bài Tập Lớn Cao Đình Sơn </ title >
* </ head >
* < body >
* < form id ="form1" runat ="server">
* < div >
* < h2 style =" margin-left : 320px">
* Tìm kiếm Thông Tin </ h2 >
* < asp : TextBox ID ="txtSearch" runat ="server" style =" margin-left : 292px"
* Width ="250px"></ asp : TextBox >
* < asp : RequiredFieldValidator ID ="rfvSearch" runat ="server"
ErrorMessage ="Bạn chưa nhập thông tin tìm kiếm"
* ControlToValidate ="txtSearch" Display ="Dynamic">
* </ asp : RequiredFieldValidator >< br />
* < asp : DropDownList ID ="ddlCat" runat ="server" Height ="17px"
* style =" margin-left : 292px" Width ="244px">
* </ asp : DropDownList >
* < br />
* < asp : Button ID ="Button1" runat ="server" Text ="Tìm Kiếm"
* OnClick ="Button1_Click" style =" margin-left : 375px" />
* < asp : Repeater ID ="rptrSearch" runat ="server"
OnItemCommand ="rptrSearch_ItemCommand">
* < HeaderTemplate >
* < table border ="1">
* </ HeaderTemplate >
* < ItemTemplate >
* < tr >
* < td >
* <% # Eval( "sTitle" ) %>
* </ td >
* < td >
* < asp : LinkButton ID ="LinkButton1" runat ="server" CommandName ="xoa" CommandArgument =' <% # Eval("PK_iNewsID") %> '
* OnClientClick ='return confirm("Có chắc chắn muốn xoá không?");'> Xoá </ asp : LinkButton >
* </ td >
* </ tr >
* </ ItemTemplate >
* < FooterTemplate >
* </ table ></ FooterTemplate >
* </ asp : Repeater >
* </ div >
* </ form >
* </ body >
* </ html >
*
Trang 10* Code trang xử lý
* using System;
* using System.Collections.Generic;
* using System.Linq;
* using System.Web;
* using System.Web.UI;
* using System.Web.UI.WebControls;
* using System.Configuration;
* using System.Data.SqlClient;
* using System.Data;
*
* public partial class New_Search : System.Web.UI Page
* {
* protected void Page_Load( object sender, EventArgs e)
* {
* if (!IsPostBack)
* loadCat();
* }
*
* protected void Button1_Click( object sender, EventArgs e)
* {
* if (!IsPostBack)
* getTimkiem();
* showKetqua();
* }
* private void showKetqua()
* {
* using ( DataTable tbl = getTimkiem())
* {
* rptrSearch.DataSource = tbl;
* rptrSearch.DataBind();
* }
* }
* private DataTable getTimkiem()
* {
* string connectionString =
ConfigurationManager ConnectionStrings[ "ApplicationServices" ].Connecti onString;
* using ( SqlConnection Cnn = new
* {
* using ( SqlCommand Cmd = new
SqlCommand ( "spNews_search" , Cnn))
* {
* Cmd.CommandType = CommandType StoredProcedure;
*
Cmd.Parameters.AddWithValue( "@sTitle" ,txtSearch.Text);
* using ( SqlDataAdapter da = new
* {
* DataTable tbl = new DataTable ();
* da.Fill(tbl);
* return tbl;
* }
* }
* }
* }
* private void loadCat()
* {
* ddlCat.Items.Clear();
Trang 11Bài tập lớn môn NET
* string connectionString =
ConfigurationManager ConnectionStrings[ "ApplicationServices" ].Connecti onString;
* using ( SqlConnection Cnn = new
* {
* using ( SqlCommand Cmd = new
SqlCommand ( "spLoad_categories" , Cnn))
* {
* Cmd.CommandType = CommandType StoredProcedure;
* Cnn.Open();
* using ( SqlDataReader rdCat = Cmd.ExecuteReader())
* {
* if (rdCat.HasRows)
* while (rdCat.Read())
* {
* ddlCat.Items.Add( new
ListItem (rdCat[ "sCategoryName" ].ToString()));
* }
* rdCat.Close();
* }
* Cnn.Close();
* }
* }
* }
*
* protected void rptrSearch_ItemCommand( object source,
* {
* if (e.CommandName.ToLower().Equals( "xoa" ))
* {
* int newsID = Convert ToInt32(e.CommandArgument);
* string connectionString =
ConfigurationManager ConnectionStrings[ "ApplicationServices" ].Connecti onString;
* using ( SqlConnection Cnn = new
* {
* using ( SqlCommand Cmd = new SqlCommand ( "xoaTin" , Cnn))
* {
* Cmd.CommandType = CommandType StoredProcedure;
* Cmd.Parameters.AddWithValue( "@PK_iNewsID" , newsID);
* Cnn.Open();
* Cmd.ExecuteNonQuery();
* Cnn.Close();
* showKetqua();
* }
* }
* }
* }
* }
*
*
Trang 12TÀI LIỆU THAM KHẢO
Tài liệu giới thiệu Visual Studio.Net
Tài liệu giới thiệu SQL Server 2005
Những ví dụ trên trang huudungle.net