Chủ Nhật, 23 tháng 5, 2010

Đối tượng DataReader và DataAdapter!

Đối tượng DataReader và DataAdapter

DataReader

Đối tượng DataReader được .NET Framework cung cấp nhằm phục vụ việc truy cập vào cơ sở dữ liệu nhanh và hiệu quả cụ thể là việc đọc dữ liệu từ Database. Như đã đề cập các bài trước, DataSet phục vụ cho việc xử lý dữ liệu ngắt kết nối, còn DataReader lại phục vụ chủ yếu cho việc kết nối. Tốc độ của xử lý DataReader theo hướng kết nối rất phù hợp cho việc xử lý dữ liệu của ứng dụng Web. Do vậy, việc xử lý dữ liệu cho ứng dụng web thường được xử lý bằng DataReader.


Cơ chế xử lý của DataReader : DataReader chỉ xử lý 1 record tại một thời điểm và chỉ được truy xuất 1 chiều, không có các thao tác phức tạp như sắp xếp hay truy xuất bất cứ record ngẫu nhiên nào. Trong khi truy xuất dữ liệu, dĩ nhiên DataReader sẽ giữ kết nối liên tục với database (hướng kết nối), và DataReader chỉ phục vụ thao tác đọc (readonly). Chính vì tính chất hướng kết nối nên DataReader được đơn giản hoá tối đa để việc xử lý nhẹ nhàng, ít rờm rà, tối ưu được tốc độ xử lý (rất quan trọng đối với các ứng dụng trên nền web).

Cũng như 2 đối tượng Command và Connection, tùy theo loại kết nối mà DataReader cũng có 2 loại : OleDbDataReader và SqlDataReader. Để sử dụng ta phải import 2 namespace : System.Data.OleDb và System.Data.SqlClient.

Cách sử dụng

DataReader được sử dụng để chứa kết quả trả về từ đối tượng Command với việc thực thi hàm ExecuteReader.


Dim conn As SqlConnection = New SqlConnection("server=localhost;database=NorthWind;uid=sa;pwd=sa")
conn.Open()

Dim cmd As SqlCommand = New SqlCommand("Select * From Customers", conn)

Dim dr As SqlDataReader = cmd.ExecuteReader

While (dr.Read)

Response.Write(dr("ContactName") + "
")

End While

conn.Close()


Hàm ExecuteReader của đối tượng Command có thể nhận vào tham số là những giá trị liệt kê của đối tượng CommandBehavior.

cmd.ExecuteReader(CommandBehavior.SchemaOnly)


Một số giá trị liệt kê thông dụng của CommandBehavior là :

- CloseConnection : connection sẽ đóng khi đối tượng DataReader đóng.

- SchemaOnly : Câu truy vấn không trả về dữ liệu mà trả về thông tin các cột của bảng.

- SingleRow : Câu truy vấn chỉ trả về 1 dòng duy nhất.

Chúng ta có thể kết nối các giá trị của CommandBehavior với nhau bằng dấu &:

cmd.ExecuteReader(CommandBehavior.CloseConnection & CommandBehavior.SingleRow)


- Một số thuộc tính và phương thức thông dụng của DataReader:

Thuộc tính :

- FieldCount : trả về số trường có trong record hiện hành.

- IsClosed : trả về giá trị boolean xác định đối tượng DataReader có bị đóng hay không.

Phương thức:

- Close : Đóng

- GetBoolean, GetByte, GetChar, GetDateTime, GetDecimal : lấy các giá trị tại cột đang xét tùy vào kiểu.

- GetValue, GetValues : lấy về giá trị hoặc tập giá trị ở dạng “nguyên thủy” ( kiểu dữ liệu gốc của Database).

- NextResult : Nhóm Kết quả tiếp theo.

- Read : Record tiếp theo.

DataAdapter

- DataAdapter là đối tượng làm trung gian lấy dữ liệu về cho DataSet, để DataSet thực hiện xử lý ngắt kết nối. Do vậy, mặc dù DataAdapter được liệt kê là đối tượng hướng kết nối nhưng thực chất nó phục vụ cho việc ngắt kết nối.

- Cũng như các đối tượng khác của ADO.NET, DataAdapter cũng có 2 loại tuỳ theo loại dữ liệu : OleDbDataAdapter, SqlDataAdapter.

Cách Sử dụng

- Sau đây là một số thuộc tính và phương thức thông dụng:

Thuộc tính

- SelectCommand, InsertCommand, UpdateCommand, DeleteCommand : các câu lệnh select , insert, update ,delete dữ liệu.

Phương thức:

- Fill : phương thức thực hiện kết quả trong câu lệnh select, rồi trả về cho DataSet xử lý.

- Update : Gọi lệnh cập nhật các thay đổi của dữ liệu lên dữ liệu nguồn.

Thứ Hai, 17 tháng 5, 2010

Khi thương củ ấu cũng tròn , khi ghét thì trái bồ hòn cũng méo!

Củ ấu: Cây củ ấu là một loài thực vật thuỷ sinh, mọc trong ao đầm. Củ ấu còn có tên là ấu trụi, ấu nước (tên khoa học Trapa bicornis L. thuộc họ củ ấu Hydrocaryaceae) . Củ ấu mọc khắp nơi trên đất nước. Mùa củ ấu không dài, chỉ chừng hơn một tháng, thông thường vào độ tháng 8, tháng 9 âm lịch. 

Củ ấu có bốn loại: ấu đỏ, ấu hai sừng, ấu ba sừng và ấu bốn sừng. Thịt củ ấu màu trắng, ăn ngọt mát, bùi, giàu chất dinh dưỡng là một món qùa vặt “dễ ghiền”. Khi mua nên chọn những củ có vỏ khô, cứng, cầm chắc tay, khi lắc nhẹ không thấy có chuyển động bên trong là củ ngon, thịt chắc.
 

Trái bồ hòn: Cây Bồ hòn thoạt nhìn trông rất giống cây Nhãn, cũng cùng tầm cao, cùng lá kép và có cùng những chùm trái tròn tương tự nhau. Xem kỹ mới thấy khác biệt, lá Bồ hòn nhọn mũi hơn và có cánh dọc theo lá, trái thì khác rõ hơn như hình dưới. Trái Bồ Hòn có vị đắng (nên có câu: "Ngậm bồ hòn làm ngọt") ^_^!