Lập trình cơ sở dữ liệu với C Sharp - Phần 2

Tải System.Data.SqlClient namespace vào project

Bộkhới tạo: SqlConnection()

1: SqlConnection()

2: SqlConnection(string connectionString)

Khởi tạo một đối tượng mới SqlConnection bằng phát biểu sau:

SqlConnection mySqlConnection = new SqlConnection();

mySqlConnection.ConnectionString =

"server=localhost;database=Northwind;uid=sa;pwd=sa";

serverchỉ định tên máy tính có trinh SqlServer đang chạy.

databasechỉ định tên cơsởdữliệu

uidtên tài khỏan

pwdmã đăn nhập

chú ý : chỉthiết lập connectionString khi đối tượng kết nối của bạn đã đóng

pdf240 trang | Chuyên mục: Visual C# | Chia sẻ: dkS00TYs | Lượt xem: 1830 | Lượt tải: 1download
Tóm tắt nội dung Lập trình cơ sở dữ liệu với C Sharp - Phần 2, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
"] 
 ); 
 myDataSet.Relations.Add( 
 customersOrdersDataRel 
 ); 
 // create a DataView object named customersDV 
 DataView customersDV = new DataView(); 
 customersDV.Table = customersDT; 
 customersDV.RowFilter = "Country = 'UK'"; 
 customersDV.Sort = "CustomerID"; 
 // display the first row in the customersDV DataView object 
 Console.WriteLine("Customer:"); 
 for (int count = 0; count < customersDV.Table.Columns.Count; count++) 
 { 
 Console.WriteLine(customersDV[0][count]); 
 } 
 // create a child DataView named ordersDV that views 
 // the child rows for the first customer in customersDV 
 DataView ordersDV = customersDV[0].CreateChildView("CustomersOrders"); 
 // display the child rows in the customersDV DataView object 
 Console.WriteLine("\nOrderID's of the orders placed by this customer:"); 
 foreach (DataRowView ordersDRV in ordersDV) 
 { 
 Console.WriteLine(ordersDRV["OrderID"]); 
 } 
 } 
} 
Đầu ra từ chương trình này như sau: 
Customer: 
AROUT 
Around the Horn 
UK 
OrderID's of the orders placed by this customer: 
10355 
10383 
10453 
10558 
10707 
10741 
10743 
10768 
10793 
10864 
10920 
10953 
11016 
LỚP DataViewManager: 
Một DataViewManager cho phép bạn tập trung quản lý nhiều đối tượng DataView trong một Dataset. Một 
DataViewManager cũng cho phép bạn tạo ra những đối tượng DataView trong thời gian chạy. Bảng 13.6 cho 
thấy một số những thuộc tính DataViewManager. 
Bảng 13.6: những thuộc tính DataViewManager 
Thuộc tính Kiểu dữ liệu Mô tả 
DataSet DataSet lấy hay gán Dataset được dùng bởi DataViewManager của bạn. 
DataViewSettings DataViewSettingCollection Lấy DataViewSettingCollection cho mỗi DataTable trong 
Dataset của bạn. Một DataViewSettingCollection giúp bạn truy 
cập đến những thuộc tính của DataView cho mỗi DataTable. 
Một trong số những phương thức của DataViewManager là CreateDataView(). Nó tạo ra một DataView mới 
cho DataTable được chỉ định. DataTable được chuyển qua như một tham số tới phương thức CreateDataView(). 
Kiểu trả về của nó là DataView. 
Một trong số những sự kiện DataViewManager là ListChanged. Nó phát khởi khi danh sách được quản lý bởi 
một DataView trong DataViewManager của bạn thay đổi.Bộ xử lý sự kiện của nó là ListChangedEventHandler. 
Tạo ra và sử dụng một Đối tượng DataViewManager 
Tạo ra một DataViewManager, Bạn sử dụng một trong số bộ khởi dựng sau đây: 
DataViewManager() 
DataViewManager(DataSet myDataSet) 
Với myDataSet chỉ định Dataset được dùng bởi đối tượng DataViewManager. Nó gán thuộc tính Dataset của 
đối tượng DataViewManager mới tới myDataSet. 
Chúng ta hãy xemxét một ví dụ về tạo ra và sử dụng một DataViewManager. Giả thiết bạn có một Dataset có 
tên myDataSet, có chứa một DataTable được được lưu trú với những hàng từ bảng Customers. Ví dụ sau đây 
tạo ra một đối tượng DataViewManager có tên myDVM, MyDataSet chuyển qua tới bộ khởi dựng: 
DataViewManager myDVM = new DataViewManager(myDataSet); 
Ví dụ kế tiếp thiết đặt những thuộc tính Sort và RowFilter mà sẽ được sử dụng sau đó khi một DataView cho 
DataTable Customers được tạo ra : 
myDVM.DataViewSettings["Customers"].Sort = "CustomerID"; 
myDVM.DataViewSettings["Customers"].RowFilter = "Country = 'UK'"; 
Ghi nhớ : mã trước đây không thật sự tạo ra một DataView; nó đơn thuần gán những thuộc tính của bất kỳ 
DataView nào được tạo ra trong tương lai, mà xem những hàng từ DataTable Customers. 
Ví dụ sau đây thật sự tạo ra một DataView bởi sự gọi phương thức CreateDataView() của DataViewManager 
myDVM, chuyển DataTable customersDT tới CreateDataView(): 
DataView customersDV = myDVM.CreateDataView(customersDT); 
Thuộc tính Sort và RowFilter của DataView customersDV được gán tới CustomerID và Country = ' UK' tương 
ứng. Đây là những sự thiết đặt tương tự như những thiết đặt trước đó trong thuộc tính DataViewSettings. 
Danh sách 13.4 Trình bày một ví dụ đầy đủ về tạo và sử dụng DataViewManager đã học trong mục này. 
Danh sách 13.4 Một : USINGDATAVIEWMANAGER.CS 
/* 
UsingDataViewManager.cs illustrates the use of a 
DataViewManager object 
*/ 
using System; 
using System.Data; 
using System.Data.SqlClient; 
class UsingDataViewManager 
{ 
 public static void Main() 
 { 
 SqlConnection mySqlConnection = 
 new SqlConnection( 
 "server=localhost;database=Northwind;uid=sa;pwd=sa" 
 ); 
 SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); 
 mySqlCommand.CommandText = 
 "SELECT CustomerID, CompanyName, Country " + 
 "FROM Customers"; 
 SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(); 
 mySqlDataAdapter.SelectCommand = mySqlCommand; 
 DataSet myDataSet = new DataSet(); 
 mySqlConnection.Open(); 
 mySqlDataAdapter.Fill(myDataSet, "Customers"); 
 mySqlConnection.Close(); 
 DataTable customersDT = myDataSet.Tables["Customers"]; 
 // create a DataViewManager object named myDVM 
 DataViewManager myDVM = new DataViewManager(myDataSet); 
 // set the Sort and RowFilter properties for the Customers DataTable 
 myDVM.DataViewSettings["Customers"].Sort = "CustomerID"; 
 myDVM.DataViewSettings["Customers"].RowFilter = "Country = 'UK'"; 
 // display the DataViewSettingCollectionString property of myDVM 
 Console.WriteLine("myDVM.DataViewSettingCollectionString = " + 
 myDVM.DataViewSettingCollectionString + "\n"); 
 // call the CreateDataView() method of myDVM to create a DataView 
 // named customersDV for the customersDT DataTable 
 DataView customersDV = myDVM.CreateDataView(customersDT); 
 // display the rows in the customersDV DataView object 
 foreach (DataRowView myDataRowView in customersDV) 
 { 
 for (int count = 0; count < customersDV.Table.Columns.Count; count++) 
 { 
 Console.WriteLine(myDataRowView[count]); 
 } 
 Console.WriteLine(""); 
 } 
 } 
} 
Đầu ra của chương trình này như sau: 
myDVM.DataViewSettingCollectionString = 
 <Customers Sort="CustomerID" RowFilter="Country = 'UK'" 
RowStateFilter="CurrentRows"/> 
AROUT 
Around the Horn 
UK 
BSBEV 
B's Beverages 
UK 
CONSH 
Consolidated Holdings 
UK 
EASTC 
Eastern Connection 
UK 
ISLAT 
Island Trading 
UK 
NORTS 
North/South 
UK 
SEVES 
Seven Seas Imports 
UK 
TẠO MỘT DataView SỬ DỤNG Visual Studio .NET: 
Trong mục này, bạn sẽ học cách tạo ra một DataView như thế nào sử dụng Visual Studio .NET (VS .NET). 
Bạn có thể theo những bước được mô tả trong mục này: 
1. Mở VS .NET và tạo ra một ứng dụng Windows mới đặt tên myDataView. 
2. hiển thị Server Explorer, kết nối tới cơ sở dữ liệu Northwind của bạn, và sự kéo bảng Customers tới 
form của bạn. Việc này tạo ra một đối tượng SqlConnection có tên sqlConnection1 và một đối tượng 
SqlDataAdapter có tên sqlDataAdapter1. Những đối tượng này được đặt trong khay bên dưới form của 
bạn. 
3. Thay đổi thuộc tính ConnectionString của sqlConnection1 để kết nối tới cơ sở dữ liệu Northwind của 
bạn. Nhớ thêm một chuỗi con chứa mật khẩu ( Pwd= sa, hay tương tự). 
4. Kích vào đối tượng sqlDataAdapter1 trong form của bạn, và rồi kích liên kết Generate Dataset tại đáy 
của cửa sổ những thuộc tính cho sqlDataAdapter1. Chấp nhận những mặc định trong hộp thoại, và kích 
nút Ok để tạo ra một đối tượng Dataset có tên dataSet11. 
5. Kéo một đối tượng DataView từ tab Data của Toolbox đến form của bạn. Việc này tạo ra một đối 
tượng DataView có tên dataView1. 
6. Gán thuộc tính Table của đối tượng dataView1 của bạn tới dataSet11.Customers sử dụng danh sách 
sổ xuống ở bên phải của thuộc tính Table; đặt thuộc tính RowFilter tới Country =' UK'; và đặt thuộc tính 
Sort tới CustomerID. xem Hình 13.1. 
 Thiết đặt những thuộc tính của DataView1 
7. Kéo một điều khiển DataGrid từ những tab Windows Form của Toolbox đến form của bạn. Việc này 
tạo ra một đối tượng DataGrid có tên dataGrid1. 
8. Gán thuộc tính DataSource của dataGrid1 tới dataView1 sử dụng danh sách sổ xuống ở bên phải của 
thuộc tính DataSource, như trong Hình 13.2. Điều này kết buộc dữ liệu được cất giữ trong dataView1 
vào dataGrid1 và cho phép dataGrid1 truy cập bất kỳ dữ liệu nào được cất giữ trong dataView1. 
 Hình 13.2: gán những thuộc tính của dataGrid1 
9. Chọn View - Code và gán phương thức Form1() của form của bạn với mã sau 
public Form1() 
{ 
 // 
 // Required for Windows Form Designer support 
 // 
 InitializeComponent(); 
 // call the Fill() method of sqlDataAdapter1 
 // to populate dataSet11 with a DataTable named 
 // Customers 
 sqlDataAdapter1.Fill(dataSet11, "Customers"); 
} 
Biên dịch và chạy form của bạn bằng cách nhấn Ctrl + F5. Hình 13.3 cho thấy sự vận hành của form. Chú ý 
thông tin trong form đến từ DataView mà bạn đã tạo ra. 
TÓM TẮT: 
Trong chương này, bạn đã học cách sử dụng những đối tượng DataView để lọc và sắp xếp những hàng như thế 
nào. Lợi thế của một DataView là bạn có thể kết buộc nó tới một thành phần trực quan như một điều khiển 
DataGrid. 
Một DataView cất giữ những bản sao của những hàng trong một DataTable như những đối tượng 
DataRowView. Những đối tượng DataRowView cung cấp sự truy cập tới những đối tượng DataRow nằm bên 
dưới trong một DataTable. Bởi vậy, khi bạn khảo sát và sửa đổi nội dung của một DataRowView, tức là bạn 
thật sự đang làm việc với DataRow nằm bên dưới. 
Thuộc tính RowFilter của một DataView tương tự như một mệnh đề WHERE trong một phát biểu SELECT. 
Do đó bạn có thể sử dụng những biểu thức lọc rất mạnh trong DataView của bạn. Ví dụ, bạn có thể sử dụng 
AND, OR, NOT, IN, LIKE,những toán tử so sánh, những toán tử số học, những ký tự đại diện (* và %) và 
những chức năng tổng thể. 
Bạn có thể tìm thấy chỉ số của một DataRowView trong một DataView sử dụng phương thức Find() của một 
DataView. Bạn cũng có thể lấy một mảng của những đối tượng DataRowView sử dụng phương thức 
FindRows() của một DataView. 
Một DataViewManager cho phép bạn tập trung quản lý nhiều đối tượng DataView trong một Dataset. Một 
DataViewManager cũng cho phép bạn tạo ra những đối tượng DataView trong thời gian chạy. 

File đính kèm:

  • pdfLập trình cơ sở dữ liệu với C Sharp - Phần 2.pdf
Tài liệu liên quan