Bài Giảng Môn Lập Trình Website ASP.Net
Biên sọan: Dương Thành Phết Trang 94
Chương 5
XỬ LÝ DỮ LIỆU VỚI ADO.NET
I. Tìm hiểu về ADO.NET
Hầu hết ứng dụng hay các website đều cần phải có cơ sở dữ liệu, để lưu trữ dữ liệu, xử
lý thông tin và đưa ra các báo cáo, hỗ trợ tìm kiếm… Khi dữ liệu trở thành trung tâm của ứng
d
ụng thì cung cấp các chức năng tới người dùng phụ thuộc vào khả năng thao tác dữ liệu, vấn
đề mà người thiết kế và người xây dựng ứng dụng quan tâm khi sử dụng dữ liệu là:
Lưu dữ liệu tập trung
Đảm bảo toàn vẹn dữ liệu
Đảm bảo khả năng truy xuất đồng thời của nhiều người dùng trên dữ liệu
Đảm bảo thời gian hồi đáp ngắn cho mỗi người dùng
Bảo mật dữ liệu
Trao đổi dữ liệu giữa các hệ thống khác nhau
Nh
ững vấn đề này được giải quyết dựa vào khả năng của các hệ quản trị cơ sở dữ
liệu(HQT CSDL) và các phần mềm xử lý dữ liệu do HQT CSDL cung cấp.
.Net truy xu
ất dữ liệu qua ADO.NET, đặc điểm chính của ADO.NET là khả năng làm
việc với dữ liệu không kết nối, dữ liệu được lưu trữ trong bộ nhớ như một csdl thu nhỏ gọi là
dataset, nh
ằm tăng tốc độ tính toán, xử lý tính toán và hạn chế sử dụng tài nguyên trên
Database Server.
Đặc điểm quan trọng thứ 2 là khả năng xử lý dữ liệu chuẩn XML, dữ liệu ở dạng XMl có
th
ể trao đổi giữa bất kỳ hệ thống nào nên ứng dụng của bạn sẽ có nhiều khả năng làm việc với
nhi
ều ứng dụng khác.
1. Kiến trúc ADO .Net
//M
ở kết nối
cnn.Open();
//Command điều khiển truy vấn sql
SqlCommand cmd = cnn.CreateCommand();
cmd.CommandText = "select HotenKH from Khachhang where MaKH=5";
//l
ấy về chuỗi giá trị trong cơ sở dữ liệu
string result = (string)cmd.ExecuteScalar();
//đóng kết nối
cnn.Close();
//in giá tr
ị ra màn hình
Response.Write(result);
}
}
Thi hành
Cơ bản các bước thực hiện với database
• Bước 1: Tạo kết nối
•
Bước 2: Mở kết nối dữ liệu
•
Bước 3: Tạo lệnh điều khiển truy vấn SQL
•
Bước 4: Thực thi lệnh
•
Bước 5: Đóng kết nối
•
người dùng
Password : M
ật khẩu
Ví dụ: Tạo kết nối với CSDL Access
using System;
using System.Data;
using System.Data.OleDb;
public partial class VD2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Khai báo và kh
ởi tạo biến Connection
String StrCnn="Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" + Server.MapPath("~/App_Data/QLBansach.mdb");
OleDbConnection cnn = new OleDbConnection (StrCnn);
//M
ở kết nối
cnn.Open();
//Command điều khiển truy vấn sql
OleDbCommand cmd = cnn.CreateCommand();
cmd.CommandText = "select HotenKH from Khachhang where MaKH=2";
//l
ấy về chuỗi giá trị trong cơ sở dữ liệu
string result = (string)cmd.ExecuteScalar();
//đóng kết nối
cnn.Close();
//in giá tr
Open: Thực hiện kết nối Connectionới các thông tin đã khai báo trong
ConnectionString
Ví d
ụ: Kiểm tra kết nối với CSDL SQLServer
protected void Button1_Click(object sender, EventArgs e)
{
//Khai báo và kh
ởi tạo biến Connection
SqlConnection cnn = new SqlConnection("Data Source=;Initial Catalog=QLbansach;User ID=sa;Password=");
//M
ở kết nối
cnn.Open();
TextBox1.Text = "State = " + cnn.State; ;
// Th
ực hiện các câu lệnh SELECT, INSERT, DELETE, UPDATE.
cnn.Close();
//Đóng kết nối
}
Bài Giảng Môn Lập Trình Website ASP.Net
Biên sọan: Dương Thành Phết Trang 98
2. Đối tượng Command
Sau khi tạo kết nối với nguồn dữ liệu, mọi thao tác với nguồn dữ liệu đó đều được thực
hiện thông qua Command. Tùy theo loại Connection đối tượng Command thuộc tên miền như
sau:
System.Data.OleDb.OleDbCommand
System.Data.SqlClient.SqlCommand
Tạo Command
Chúng ta có thể tạo Command thông qua đối tượng Connection bàng cách:
<Loai command> <Bi
Các thu
ộc tính cần chú ý:
Direction : Giá trị cho biết lọai tham số
Input: (mặc định) Loại tham số đầu vào
InputOutput: Lo
ại tham số đầu vào và ra
Output: Lo
ại tham số đầu ra