Danh mục tài liệu

Truy cập cơ sở dữ liệu với .NET - Managing Data và Relationships: The DataSet

Số trang: 26      Loại file: pdf      Dung lượng: 171.39 KB      Lượt xem: 17      Lượt tải: 0    
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Lớp DataSet được thiết kế như là một thùng chứa các dữ liệu không kết nối. Nó không có khái niệm về các kết nối dữ liệu. Thật vậy, dữ liệu được giữ trong một DataSet không quan tâm đến nguồn cơ sở dữ liệu – nó có thể chỉ là những mẫu tin chứa trong một file CSV, hoặc là những đầu đọc từ một thiết bị đo lường. Một DataSet bao gồm một tập các bảng dữ liệu, mỗi bảng là một tập các cột dữ liệu và dòng dữ liệu. ...
Nội dung trích xuất từ tài liệu:
Truy cập cơ sở dữ liệu với .NET - Managing Data và Relationships: The DataSet Truy cập cơ sở dữ liệu với .NETManaging Data và Relationships: The DataSetLớp DataSet được thiết kế như là một thùng chứa các dữ liệu không kết nối.Nó không có khái niệm về các kết nối dữ liệu. Thật vậy, dữ liệu được giữtrong một DataSet không quan tâm đến nguồn cơ sở dữ liệu – nó có thể chỉlà những mẫu tin chứa trong một file CSV, hoặc là những đầu đọc từ mộtthiết bị đo lường.Một DataSet bao gồm một tập các bảng dữ liệu, mỗi bảng là một tập các cộtdữ liệu và dòng dữ liệu. Thêm vào đó là các định nghĩa dữ liệu, bạn có thểđịnh nghĩa các link giữa các DataSet. Mối quan hệ phổ biến giữa cácDataSet là parent-child relationship. Một mẫu tin trong một bảng (gọi làOrder) có thể liên kết với nhiều mẫu tin trong bảng khác (BảngOrder_Details). Quan hệ này có thể được định nghĩa và đánh dấu trongDataSet.Phần dưới đây giải thích các lớp được dùng trong một DataSet.Data TablesMột data table rất giống một bảng cơ sở dữ liệu vật lí – nó bao gồm một bộcác cột với các thuộc tính riêng, và có thể không chứa hoặc chứa nhiều dòngdữ liệu. Một data table có thể định nghĩa một khóa chínhm, bao gồm mộthoặc nhiều cột, và cũng có thể chứa các ràng buộc của các cột. Tất cả cácthông tin đó được thể hiện trong schema.Có nhiều các để định nghĩa một schema cho một bảng dữ liệu riêng. Chúngsẽ được thảo luận ngay sau phần giới thiệu về cột dữ liệu và dòng dữ liệu.Sơ đồ dưới đây chỉ ra một vài đối tượng có thể truy cập thông qua một bảng dữ liệu:Một đối tượng DataTable (cũng như một DataColumn) có thể có một số cácmở rộng riêng liên quan đến thuộc tính của nó. Tập hợp này có thể nằmtrong thông tin user-defined gắng liền với đối tượng. Ví dụ, một cột có thểđưa ra một mặt nạ nhập liệu dùng để giới hạn các giá trị hợp lệ cho cột đó –một ví dụ về số phúc lợi xã hội Mĩ. Các thuộc tính mở rộng đặc biệt quantrọng khi dữ liệu được cấu trúc ở một tầng giữa và trả về cho client trongmột số tiến trình. Bạn có thể lưu một chuẩn hợp lệ (như min và max) cho cácsố của các cột.Khi một bảng dữ liệu được tạo ra, có thể do việc chọn dữ liệu từ một cơ sởdữ liệu, đọc dữ liệu từ một file, hoặc truy xuất thủ công trong mã, tập hợpRows được dùng để chứa giá trị trả về.Tập hợp Columns chứa các thể hiện DataColumn có thể được thêm vào bảngnày. Những định nghĩa schema của dữ liệu, ví dụ như kiểu dữ liệu, tính khảrỗng, giá trị mặc định, vân vân... Tập Constraints có thể được tạo ra bởi cácràng buộc khóa chính hoặc tính độc nhất.Thông tin về sơ đồ của một bảng dữ liệu có thể được sử dụng trong việc biểudiễn của một bảng dữ liệu bằng DataGrid (chúng ta sẽ bàn về vấn đề nàytrong chương sau). Điều khiển DataGrid sử dụng các thuộc tính như kiểu dữliệu của cột để quyết định điều khiển gì dùng cho cột đó. Một trường bittrong cơ sở dữ liệu có thể được biểu diễn như một checkbox trong DataGrid.Nếu một cột được định nghĩa trong cơ sở sơ đồ dữ liệu như là một NOTNULL, lựa chọn này được lưu trữ trong DataColumn vì vậy nó sẽ được kiểmtra khi người dùng cố gằng di chuyển khỏi một dòng.Data ColumnsMột đối tượng DataColumn định nghĩa các thuộc tính của một cột trongDataTable, chẳng hạn như kiểu dữ liệu của cột đó, chẳng hạn cột là chỉ đọc,và các sự kiện khác. Một cột có thể được tạo bằng mã, hoặc có thể được tạotự động trong thời gian chạy.Khi tạo một cột, tốt hơn hết là nên đặt cho nó một cái tên; nếu không thờigian chạy sẽ tự động sinh cho bạn một cái tên theo định dạng Columnn, n làmố sô tự động tăng.Kiểu dữ liệu của một cột có thể cài đặt bằng cách cung cấp trong cấu trúccủa nó, hoặc bằng cách cài đặt thuộc tính DataType. Một khi bạn đã load dữliệu vào một bảng dữ liệu bạn không thể sửa lại kiểu dữ liệu của một cột –nếu không bạn sẽ nhận một ngoại lệ.Các cột dữ liệu có thể được tạo để giữ các kiểu dữ liệu của .NET Frameworksau:Boolean Decimal Int64 TimeSpanByte Double Sbyte UInt16Char Int16 Single UInt32DateTime Int32 String UInt64Một khi đã được tạo, bước tiếp theo là cài các thuộc tính khác cho đối tượngDataColumn, chẳng hạn như tính khả rỗng nullability, giá trị mặc định.Đoạn mã sau chỉ ra một số các tùy chọn được cài đặt trong mộtDataColumn:DataColumn customerID = new DataColumn(CustomerID , typeof(int));customerID.AllowDBNull = false;customerID.ReadOnly = false;customerID.AutoIncrement = true;customerID.AutoIncrementSeed = 1000;DataColumn name = new DataColumn(Name , typeof(string));name.AllowDBNull = false;name.Unique = true;Các thuộc tính sau có thể được cài đặt trong một DataColumn:Property Description Nếu là true, cho phép cột có thể chấp nhận DBNull.AllowDBNullAutoIncrement Cho biết rằng dữ liệu của cột này là một số tự động tăng.AutoIncrementSeed Giá trị khởi đầu cho một cột AutoIncrement.AutoIncrementStep Cho biết bước tăng giữa các giá trị tự động, mặc định là 1.Caption Có thể dùng cho việc biểu diễn tên của cột trên màn hình.Property DescriptionColumnMapping Cho biết cách một cột ánh xạ sang XML khi một DataSet được lưu bằng cách gọi phương thức DataSet.WriteXml.ColumnName Tên của cột. Nó tự động tạo ra trong thời gian chạy nếu không được cài đặt trong cấu trúc. Kiểu giá trị của cột.DataType Dùng để định nghĩa giá trị mặc định cho một cộtDefaultValueExpression Thuộc tính này định nghĩa một biểu thức dùng cho việct tính toán trên cột nàyData RowsLớp này cấu thành các phần khác của l ...