![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
DataGrid (phần I)
Số trang: 12
Loại file: pdf
Dung lượng: 235.14 KB
Lượt xem: 2
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
DataGrid (phần I)DataGrid trong .NET tuy có các chức năng giống như trong VB6 nhưng đã được nâng cấp vượt bực và cách dùng thay đổi rất nhiều nên coi như ta phải học lại từ đầu. Cách dùng thông thường nhất của một DataGrid trong VB6 là hiển thị một Table các records trong dạng một spreadsheet, mỗi hàng (row) chứa các datafields của một record và mỗi cột (column) có header cho biết là datafield gì. Nói cho đúng ra, nằm sau lưng mỗi DataGrid là một Recordset, tức là một Set of Records mà ta chọn lấy...
Nội dung trích xuất từ tài liệu:
DataGrid (phần I) DataGrid (phần I)DataGrid trong .NET tuy có các chức năng giống như trong VB6 nhưng đã đượcnâng cấp vượt bực và cách dùng thay đổi rất nhiều nên coi như ta phải học lại từđầu.Cách dùng thông thường nhất của một DataGrid trong VB6 là hiển thị một Tablecác records trong dạng một spreadsheet, mỗi hàng (row) chứa các datafieldscủa một record và mỗi cột (column) có header cho biết là datafield gì.Nói cho đúng ra, nằm sau lưng mỗi DataGrid là một Recordset, tức là một Setof Records mà ta chọn lấy từ database. Table chẳng qua cũng là một Recordsettrong trường hợp tổng quát khi ta không dùng Clause WHERE trong SQLcommand, thí dụ như Select * from Authors.Giới thiệu ADO.NETTrong .NET, ý niệm Recordset đã được thay thế bằng Dataset. Trong một bàitới ta sẽ học chi tiết về Data Access trong VB.NET, nên hiện giờ chỉ cần biếtđại khái về Dataset để dùng trong các thí dụ áp dụng DataGrid.Trong ADO (ActiveX Data Object) của VB6 ta dùng Connection để nốichương trình áp dụng của mình với cơ sở dữ liệu và lấy ra một Recordset. Cáiconnection ấy vẫn được giữ nguyên trong khi chương trình ta làm việc vớiRecordset. Trong ADO.NET của .NET sau khi thiết lập connection với cơ sở dữliệu ta copy một hay nhiều Recordset vào Dataset. Các Recordset nầy có thể cómối liên hệ Master/Slave Relation với nhau. Thí dụ nhưInvoice/InvoiceDetails, trong đó các InvoiceDetails liên hệ với Invoice quaInvoiceID chẳng hạn, tức là InvoiceID là Primary Key của Invoice và cũng làForeign Key của InvoiceDetails . Sau đó ta chỉ làm việc với Dataset mà thôi. Cáiconnection coi như đã bị cắt đứt. Do đó Dataset được xem như là disconnecteddatabase nho nhỏ nằm trong bộ nhớ.Chắc chắn bạn sẽ không an lòng và hỏi nếu có hai người cùng copy cácRecordset ra dùng thì liệu khi update ta có bị mất những sửa đổi nào không. Đólà vấn đề khó khăn cổ điển về Multiuser lúc hai người copy cùng một record rađể Edit. Người Update record sau có thể viết chồng lên Edited Record của ngườitrước khiến cho những thay đổi người trước đánh vào bị mất.Cái hay của ADO.NET là khi ta muốn Update Dataset, connection sẽ được tựđộng nối lại và dataset sẽ được reconciled với cơ sỡ dữ liệu. Chữ reconcile làmột từ kỹ thuật trong kế toán mà ta hay dùng để nói đến việc so sánh các chitiết tiền ra vô của một trương mục giữa sổ sách chúng ta giữ và bảng báo cáocủa nhà băng để điều chỉnh lại các con số trong sổ sách của chúng ta cho giốngnhư của nhà băng. Nếu ta giữ sổ sách chính xác thì sự khác biệt chỉ là nhữngtransactions (món tiền ra, vô) nhà băng làm mà ta chưa biết như chi phí dịch vụcủa nhà băng, thuế tài chánh .v.v.. Bên trong Dataset có chứa các trị số cũ củadatafields để dùng vào việc so sánh khi Reconcile các records.Có lẽ bạn thắc mắc tại sao Microsoft lại bày đặt thêm ra chuyện ADO.NET với ýniệm disconnected database chi cho mệt, như có người trào phúng: Mỗi năm lạithêm một kỹ thuật mới về Data Access từ Microsoft. Lý do chính là để áp dụngtrong Internet. Vì mọi connection trên mạng đều nhất thời, sau khi hoàn tấttransaction thì hai bên chia tay tạm biệt. Do đó rất khó cho ta giữ mộtconnection thường trực như trong ADO. Nên nhớ rằng sau nầy lần lần các ápdụng trên Internet sẽ thay thế các giải pháp (Applications) ta dùng trong mạngcục bộ. Ngay cả nếu chỉ muốn dùng Application trong nội bộ ta cũng có thể dùngIntranet. Như thế ta chỉ cần triển khai một Application duy nhất để dùng cho cảngười ngoài (Internet), lẫn nội bộ (Intranet).Dataset của ADO.NET cho ta các lợi ích thực tiển như: • Hoàn toàn trong bộ nhớ: Một Table trong Dataset là một Array of Rows, nên ta có thể dùng thẳng (direct access) một record bằng cách nói đến cái Row chứa nó, chớ không cần phải dùng MoveNext, MovePrev,.v.v. • Làm nhẹ công tác của cơ sỡ dữ kiện chính: Vai trò của Dataset đối với cơ sỡ dữ kiện chính (Oracle, Informix, SQLServer .v.v.) cũng giống như mười năm trước đây ta bắt đầu dùng Workstations để làm nhẹ công tác của Mainframe computer. Chuyện nào Workstation làm được thì ta giao cho nó, vừa nhanh, vừa linh động, khỏi cần phiền đến Mainframe. Tất cả mọi công tác sửa đổi dữ kiện đều được thực hiện trong Dataset. • Dataset có thể được biểu diển bằng một XML (eXtensible Marked Language): Ta có thể dùng các công cụ của XML để làm việc với Dataset, trao đổi Dataset giữa các computers trên mạng dưới dạng XML, thậm chí có thể chứa một cơ sở dữ kiện nho nhỏ dưới dạng một XML.Dùng thẳng XML làm cơ sở dữ liệuChúng ta muốn hiển thị các records của một Table trong Dataset để biểu diễncác chức năng của DataGrid. Hôm nay mình chơi nổi, nên sẽ tạo một XML file đểdùng nó làm một Dataset, thay vì trích một Table từ một SQLServer hay Accessdatabase.Trước hết bạn hãy khởi động một dự án mới, đặt tên nó là AlarmList. Kế đó,trong Solution Explorer rename tên của file Form1.vb thành frmAlarmList.vbvà thay đổi property Text của form thành Alarm List, property Name của formthành frmAlarmList.Lưu ý là chỉ khi bạn thay đổi property Name của form bạn mới thấy tên của Classcủa form thay đổi từ Form1 ra frmAlarmList như ta thấy trong hình dưới đây:Nếu bây giờ bạn right click lên tên của project AlarmList trong Solution Explorervà chọn PopupMenuItem Properties, dialog AlarmList Property Pages hiệnra. Trong ComboBox của Startup object vẫn còn có chữ Form1. Bạn có thểclick lên cái cái tam giác bên phải của hộp Combobox để select chữfrmAlarmList để chỉ định nó làm Startup form.Trong chương trình nầy ta lo về an ninh và muốn hiển thị các cánh cửa trong tòanhà bị mở cửa ngoài giờ làm việc. Nếu áp dụng ngoài đời thì Real-time Data sẽđược thu thập từ các dụng cụ gọi là Data Acquisition hay Telemetry MonitoringDevices và báo cáo cho hệ thống trung ương để cập nhật hóa Dataset mà tadùng để hiển thị trong DataGrid.Bạn hãy click IDE menu command Project | Add New Item rồi chọn ...
Nội dung trích xuất từ tài liệu:
DataGrid (phần I) DataGrid (phần I)DataGrid trong .NET tuy có các chức năng giống như trong VB6 nhưng đã đượcnâng cấp vượt bực và cách dùng thay đổi rất nhiều nên coi như ta phải học lại từđầu.Cách dùng thông thường nhất của một DataGrid trong VB6 là hiển thị một Tablecác records trong dạng một spreadsheet, mỗi hàng (row) chứa các datafieldscủa một record và mỗi cột (column) có header cho biết là datafield gì.Nói cho đúng ra, nằm sau lưng mỗi DataGrid là một Recordset, tức là một Setof Records mà ta chọn lấy từ database. Table chẳng qua cũng là một Recordsettrong trường hợp tổng quát khi ta không dùng Clause WHERE trong SQLcommand, thí dụ như Select * from Authors.Giới thiệu ADO.NETTrong .NET, ý niệm Recordset đã được thay thế bằng Dataset. Trong một bàitới ta sẽ học chi tiết về Data Access trong VB.NET, nên hiện giờ chỉ cần biếtđại khái về Dataset để dùng trong các thí dụ áp dụng DataGrid.Trong ADO (ActiveX Data Object) của VB6 ta dùng Connection để nốichương trình áp dụng của mình với cơ sở dữ liệu và lấy ra một Recordset. Cáiconnection ấy vẫn được giữ nguyên trong khi chương trình ta làm việc vớiRecordset. Trong ADO.NET của .NET sau khi thiết lập connection với cơ sở dữliệu ta copy một hay nhiều Recordset vào Dataset. Các Recordset nầy có thể cómối liên hệ Master/Slave Relation với nhau. Thí dụ nhưInvoice/InvoiceDetails, trong đó các InvoiceDetails liên hệ với Invoice quaInvoiceID chẳng hạn, tức là InvoiceID là Primary Key của Invoice và cũng làForeign Key của InvoiceDetails . Sau đó ta chỉ làm việc với Dataset mà thôi. Cáiconnection coi như đã bị cắt đứt. Do đó Dataset được xem như là disconnecteddatabase nho nhỏ nằm trong bộ nhớ.Chắc chắn bạn sẽ không an lòng và hỏi nếu có hai người cùng copy cácRecordset ra dùng thì liệu khi update ta có bị mất những sửa đổi nào không. Đólà vấn đề khó khăn cổ điển về Multiuser lúc hai người copy cùng một record rađể Edit. Người Update record sau có thể viết chồng lên Edited Record của ngườitrước khiến cho những thay đổi người trước đánh vào bị mất.Cái hay của ADO.NET là khi ta muốn Update Dataset, connection sẽ được tựđộng nối lại và dataset sẽ được reconciled với cơ sỡ dữ liệu. Chữ reconcile làmột từ kỹ thuật trong kế toán mà ta hay dùng để nói đến việc so sánh các chitiết tiền ra vô của một trương mục giữa sổ sách chúng ta giữ và bảng báo cáocủa nhà băng để điều chỉnh lại các con số trong sổ sách của chúng ta cho giốngnhư của nhà băng. Nếu ta giữ sổ sách chính xác thì sự khác biệt chỉ là nhữngtransactions (món tiền ra, vô) nhà băng làm mà ta chưa biết như chi phí dịch vụcủa nhà băng, thuế tài chánh .v.v.. Bên trong Dataset có chứa các trị số cũ củadatafields để dùng vào việc so sánh khi Reconcile các records.Có lẽ bạn thắc mắc tại sao Microsoft lại bày đặt thêm ra chuyện ADO.NET với ýniệm disconnected database chi cho mệt, như có người trào phúng: Mỗi năm lạithêm một kỹ thuật mới về Data Access từ Microsoft. Lý do chính là để áp dụngtrong Internet. Vì mọi connection trên mạng đều nhất thời, sau khi hoàn tấttransaction thì hai bên chia tay tạm biệt. Do đó rất khó cho ta giữ mộtconnection thường trực như trong ADO. Nên nhớ rằng sau nầy lần lần các ápdụng trên Internet sẽ thay thế các giải pháp (Applications) ta dùng trong mạngcục bộ. Ngay cả nếu chỉ muốn dùng Application trong nội bộ ta cũng có thể dùngIntranet. Như thế ta chỉ cần triển khai một Application duy nhất để dùng cho cảngười ngoài (Internet), lẫn nội bộ (Intranet).Dataset của ADO.NET cho ta các lợi ích thực tiển như: • Hoàn toàn trong bộ nhớ: Một Table trong Dataset là một Array of Rows, nên ta có thể dùng thẳng (direct access) một record bằng cách nói đến cái Row chứa nó, chớ không cần phải dùng MoveNext, MovePrev,.v.v. • Làm nhẹ công tác của cơ sỡ dữ kiện chính: Vai trò của Dataset đối với cơ sỡ dữ kiện chính (Oracle, Informix, SQLServer .v.v.) cũng giống như mười năm trước đây ta bắt đầu dùng Workstations để làm nhẹ công tác của Mainframe computer. Chuyện nào Workstation làm được thì ta giao cho nó, vừa nhanh, vừa linh động, khỏi cần phiền đến Mainframe. Tất cả mọi công tác sửa đổi dữ kiện đều được thực hiện trong Dataset. • Dataset có thể được biểu diển bằng một XML (eXtensible Marked Language): Ta có thể dùng các công cụ của XML để làm việc với Dataset, trao đổi Dataset giữa các computers trên mạng dưới dạng XML, thậm chí có thể chứa một cơ sở dữ kiện nho nhỏ dưới dạng một XML.Dùng thẳng XML làm cơ sở dữ liệuChúng ta muốn hiển thị các records của một Table trong Dataset để biểu diễncác chức năng của DataGrid. Hôm nay mình chơi nổi, nên sẽ tạo một XML file đểdùng nó làm một Dataset, thay vì trích một Table từ một SQLServer hay Accessdatabase.Trước hết bạn hãy khởi động một dự án mới, đặt tên nó là AlarmList. Kế đó,trong Solution Explorer rename tên của file Form1.vb thành frmAlarmList.vbvà thay đổi property Text của form thành Alarm List, property Name của formthành frmAlarmList.Lưu ý là chỉ khi bạn thay đổi property Name của form bạn mới thấy tên của Classcủa form thay đổi từ Form1 ra frmAlarmList như ta thấy trong hình dưới đây:Nếu bây giờ bạn right click lên tên của project AlarmList trong Solution Explorervà chọn PopupMenuItem Properties, dialog AlarmList Property Pages hiệnra. Trong ComboBox của Startup object vẫn còn có chữ Form1. Bạn có thểclick lên cái cái tam giác bên phải của hộp Combobox để select chữfrmAlarmList để chỉ định nó làm Startup form.Trong chương trình nầy ta lo về an ninh và muốn hiển thị các cánh cửa trong tòanhà bị mở cửa ngoài giờ làm việc. Nếu áp dụng ngoài đời thì Real-time Data sẽđược thu thập từ các dụng cụ gọi là Data Acquisition hay Telemetry MonitoringDevices và báo cáo cho hệ thống trung ương để cập nhật hóa Dataset mà tadùng để hiển thị trong DataGrid.Bạn hãy click IDE menu command Project | Add New Item rồi chọn ...
Tìm kiếm theo từ khóa liên quan:
Công nghệ thông tin kỹ thuật lập trình quản trị mạng tin học máy tính DataGrid (phần I)Tài liệu liên quan:
-
52 trang 437 1 0
-
24 trang 365 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 325 0 0 -
74 trang 307 0 0
-
96 trang 303 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 295 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 290 1 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 289 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 277 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 274 0 0