bài 7: lập trình với csdl – sử dụng designer & triển khai ứng dụng - lập...

66
Bài 7: LẬP TRÌNH VỚI CSDL – SỬ DỤNG DESIGNER & TRIỂN KHAI ỨNG DỤNG

Upload: hoc-lap-trinh-web

Post on 22-Nov-2014

1.675 views

Category:

Documents


21 download

DESCRIPTION

Sử dụng Wizard để tạo nguồn dữ liệu Buộc dữ liệu với điều khiển bằng Designer Buộc dữ liệu với điều khiển DataGridView Buộc dữ liệu với TextBox Buộc dữ liệu với ComboBox Truy vấn dữ liệu bằng Designer Tùy chỉnh Toolbar Tạo form Master/Detail Triển khai ứng dụng Sử dụng Wizard để tạo nguồn dữ liệu Buộc dữ liệu với điều khiển bằng Designer Buộc dữ liệu với điều khiển DataGridView Buộc dữ liệu với TextBox Buộc dữ liệu với ComboBox Truy vấn dữ liệu bằng Designer Tùy chỉnh Toolbar Tạo form Master/Detail Triển khai ứng dụng

TRANSCRIPT

Page 1: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Bài 7:LẬP TRÌNH VỚI CSDL – SỬ DỤNG DESIGNER

& TRIỂN KHAI ỨNG DỤNG

Page 2: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Thao tác sử dụng kiến trúc kết nốiSqlCommandSqlDataReader

Điều khiển buộcBuộc dữ liệu với DataGridViewBuộc dữ liệu với ComboBox

BindingSourceĐiều hướng dữ liệuLọc dữ liệu

File config

Hệ thống bài cũ

Thao tác sử dụng kiến trúc kết nốiSqlCommandSqlDataReader

Điều khiển buộcBuộc dữ liệu với DataGridViewBuộc dữ liệu với ComboBox

BindingSourceĐiều hướng dữ liệuLọc dữ liệu

File config

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 2

Page 3: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Mục tiêu bài học

Sử dụng Wizard để tạo nguồn dữ liệuBuộc dữ liệu với điều khiển bằng Designer

Buộc dữ liệu với điều khiển DataGridViewBuộc dữ liệu với TextBoxBuộc dữ liệu với ComboBox

Truy vấn dữ liệu bằng DesignerTùy chỉnh ToolbarTạo form Master/DetailTriển khai ứng dụng

Sử dụng Wizard để tạo nguồn dữ liệuBuộc dữ liệu với điều khiển bằng Designer

Buộc dữ liệu với điều khiển DataGridViewBuộc dữ liệu với TextBoxBuộc dữ liệu với ComboBox

Truy vấn dữ liệu bằng DesignerTùy chỉnh ToolbarTạo form Master/DetailTriển khai ứng dụng

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 3

Page 4: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

SỬ DỤNG WIZARDĐỂ TẠO NGUỒN DỮ LIỆU

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 4

SỬ DỤNG WIZARDĐỂ TẠO NGUỒN DỮ LIỆU

Page 5: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Mỗi ứng dụng đều làm việc với một nguồn dữ liệunhất định, thường không làm việc với cả CSDLCấu hình nguồn dữ liệu cho phép lấy dữ liệu cần thiếtcho ứng dụngỨng dụng sẽ tương tác với nguồn dữ liệu này thay vìtrên data base. Thay đổi trên nguồn dữ liệu sẽ được cậpnhật lại CSDLSử dụng cửa sổ Data Sources để cấu hình nguồn dữliệu

Cấu hình nguồn dữ liệu bằng Wizard

Mỗi ứng dụng đều làm việc với một nguồn dữ liệunhất định, thường không làm việc với cả CSDLCấu hình nguồn dữ liệu cho phép lấy dữ liệu cần thiếtcho ứng dụngỨng dụng sẽ tương tác với nguồn dữ liệu này thay vìtrên data base. Thay đổi trên nguồn dữ liệu sẽ được cậpnhật lại CSDLSử dụng cửa sổ Data Sources để cấu hình nguồn dữliệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 5

Page 6: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B1. Nhấn vào Add New Data SourceB2. Chọn kiểu nguồn dữ liệu

Chọn Database để lấy dữ liệu từ CSDL

Demo cấu hình nguồn dữ liệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 6

12

Page 7: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B3. Chọn mô hình dữ liệu cho nguồn dữ liệuChọn Dataset

Demo cấu hình nguồn dữ liệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 7

3

Page 8: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B4. Chọn kết nốiChọn kết nối có sẵn

Demo cấu hình nguồn dữ liệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 8

4

Page 9: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B4. Chọn kết nốiChọn kết nối mới

Demo cấu hình nguồn dữ liệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 9

Kết quả của quá trình chọn kếtnối là chuỗi kết nối

Page 10: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B5. Lưu chuỗi kết nối vào file app.config

Demo cấu hình nguồn dữ liệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 10

5

Page 11: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B6. Chọn dữ liệu mong muốn

Demo cấu hình nguồn dữ liệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 11

6

Page 12: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Nguồn dữ liệu được hiển thị trên cửa sổ Data Sources làdataset định kiểuFile chứa cấu trúc của lớp DataSet bao gồm bảng trongCSDL, cột trong bảng, kiểu dữ liệu của cột và ràngbuộc của các bảngDataset định kiểu

Dataset định kiểu kế thừa từ datasetVới dataset định kiểu, có thể tham chiếu đến bảng, cộtbằng tên bảng, tên cột thay vì thông qua collection

Kết quả cấu hình nguồn dữ liệu

Nguồn dữ liệu được hiển thị trên cửa sổ Data Sources làdataset định kiểuFile chứa cấu trúc của lớp DataSet bao gồm bảng trongCSDL, cột trong bảng, kiểu dữ liệu của cột và ràngbuộc của các bảngDataset định kiểu

Dataset định kiểu kế thừa từ datasetVới dataset định kiểu, có thể tham chiếu đến bảng, cộtbằng tên bảng, tên cột thay vì thông qua collection

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 12

//Truy cập đến bảng trong dataset không định kiểumMABooksDataSet.Tables["Products"];//Truy cập đến bảng trong dataset định kiểumMABooksDataSet.Products;

Page 13: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Kết quả quá trình cấu hình nguồn dữ liệu là nguồn dữliệu tương đương với kết quả của đoạn mã

Tuy nhiên nguồn dữ liệu được tạo bởi đoạn mã này làdataset không định kiểu

Kết quả cấu hình nguồn dữ liệu

conn = new SqlConnection(“chuỗi-kết-nối");daCustomers = new SqlDataAdapter

("Select ProductCode, Description, UnitPrice from Product", conn);ds = new DataSet();daCustomers.Fill(ds,"customers");

Kết quả quá trình cấu hình nguồn dữ liệu là nguồn dữliệu tương đương với kết quả của đoạn mã

Tuy nhiên nguồn dữ liệu được tạo bởi đoạn mã này làdataset không định kiểu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 13

conn = new SqlConnection(“chuỗi-kết-nối");daCustomers = new SqlDataAdapter

("Select ProductCode, Description, UnitPrice from Product", conn);ds = new DataSet();daCustomers.Fill(ds,"customers");

Page 14: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

BUỘC DỮ LIỆU VỚI ĐIỀUKHIỂN BẰNG DESIGNER

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 14

BUỘC DỮ LIỆU VỚI ĐIỀUKHIỂN BẰNG DESIGNER

Page 15: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Kéo bảng Products từ cửa sổ Data Sources vào form,Visual Studio tạo điều khiển DataGridView buộc với bảngdữ liệu Products

DataGridView được thêm vào form cùng với toolbar điềuhướng

Buộc DataGridView với bảng Products

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 15

Page 16: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Khi tạo DataGridView Visual Studio tự động thêm 5 đốitượng vào khay Component Designer

Đối tượng DataSet: định nghĩa dữ liệu của nguồn dữ liệu(bảng Products)Đối tượng TableAdapter: Cung cấp các câu lệnh sql đượcsử dụng để làm việc với bảng Products

TableAdapter giống như DataAdapter nhưng chỉ được tạo bởiDesigner

Đối tượng TableAdapterManager: Thay đổi dữ liệu trêncác bảng liên quanBindingSource: Chỉ ra nguồn dữ liệu mà điều khiển buộcvà cung cấp các chức năng để thao tác với nguồn dữ liệuBindingNavigator: Định nghĩa Toolbar bao gồm các điềukhiển để thao tác với nguồn dữ liệu

Buộc DataGridView với bảng Products

Khi tạo DataGridView Visual Studio tự động thêm 5 đốitượng vào khay Component Designer

Đối tượng DataSet: định nghĩa dữ liệu của nguồn dữ liệu(bảng Products)Đối tượng TableAdapter: Cung cấp các câu lệnh sql đượcsử dụng để làm việc với bảng Products

TableAdapter giống như DataAdapter nhưng chỉ được tạo bởiDesigner

Đối tượng TableAdapterManager: Thay đổi dữ liệu trêncác bảng liên quanBindingSource: Chỉ ra nguồn dữ liệu mà điều khiển buộcvà cung cấp các chức năng để thao tác với nguồn dữ liệuBindingNavigator: Định nghĩa Toolbar bao gồm các điềukhiển để thao tác với nguồn dữ liệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 16

Page 17: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Mã được sinh ra bởi Visual Studio

Buộc DataGridView với bảng Products

private void Form1_Load(object sender, EventArgs e){

this.productsTableAdapter.Fill(this.mMABooksDataSet.Products);}

private void productsBindingNavigatorSaveItem_Click(object sender, EventArgs e){

this.Validate();this.productsBindingSource.EndEdit();this.tableAdapterManager.UpdateAll(this.mMABooksDataSet);

}

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 17

private void Form1_Load(object sender, EventArgs e){

this.productsTableAdapter.Fill(this.mMABooksDataSet.Products);}

private void productsBindingNavigatorSaveItem_Click(object sender, EventArgs e){

this.Validate();this.productsBindingSource.EndEdit();this.tableAdapterManager.UpdateAll(this.mMABooksDataSet);

}

Page 18: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Ngoài cách hiển thị theo DataGridView, Visual Studiocũng có thể hiển thị như sau:

Buộc dữ liệu vào TextBox

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 18

Page 19: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B1. Thêm nguồn dữ liệu

B2. Chọn bảng và chọn kiểu hiển thị là Details

Demo buộc dữ liệu vào TextBox

B1. Thêm nguồn dữ liệu

B2. Chọn bảng và chọn kiểu hiển thị là Details

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 19

Page 20: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B3. Thay đổi kiểu hiển thị phù hợp cho từng cột

B4. Kéo bảng sang form

Demo buộc dữ liệu vào TextBox

B3. Thay đổi kiểu hiển thị phù hợp cho từng cột

B4. Kéo bảng sang form

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 20

Page 21: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B5. Thay đổi vị trí hình dạng của các điều khiển

B6. Thay đổi thuộc tính của các điều khiển nếu muốn

Demo buộc dữ liệu vào TextBox

B5. Thay đổi vị trí hình dạng của các điều khiển

B6. Thay đổi thuộc tính của các điều khiển nếu muốn

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 21

Thuộc tínhReadOnlyđược thiếtlập là true

Page 22: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B1. Tạo ComboxBoxC1.

Đổi cách hiển thị của cột State trên cửa Data Sources làComboxBoxKéo cột State vào formThiết lập thuộc tính Text của ComboBox là None

C2Kéo ComboBox từ Toolbox vào form

Buộc dữ liệu với ComboBox

B1. Tạo ComboxBoxC1.

Đổi cách hiển thị của cột State trên cửa Data Sources làComboxBoxKéo cột State vào formThiết lập thuộc tính Text của ComboBox là None

C2Kéo ComboBox từ Toolbox vào form

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 22

Page 23: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B2. Thiết lập các thuộc tính hiển thị cho ComboBoxData Source: Nguồn dữ liệu (bảng) được buộc vàoComboboxDisplay Member: Giá trị hiển thị của ComboBoxValue Member: Giá trị của ComboxBoxSelected Value: Giá trị được chọn trên Combobox

Buộc dữ liệu với ComboBox

B2. Thiết lập các thuộc tính hiển thị cho ComboBoxData Source: Nguồn dữ liệu (bảng) được buộc vàoComboboxDisplay Member: Giá trị hiển thị của ComboBoxValue Member: Giá trị của ComboxBoxSelected Value: Giá trị được chọn trên Combobox

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 23

Page 24: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

DataSource: statesBindingSource(bảng State)Display Member: Cột StateNameValue Member: Cột StateCodeSelected Value: Cột State củabảng Customer(customerBindingSource)

Buộc dữ liệu với ComboBox

DataSource: statesBindingSource(bảng State)Display Member: Cột StateNameValue Member: Cột StateCodeSelected Value: Cột State củabảng Customer(customerBindingSource)

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 24

Thiết lập thuộc tính DropDownStyle làDropDownList để người dùng không nhập giá trị vào

Page 25: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

TRUY VẤN DỮ LIỆUBẰNG DESIGNER

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 25

TRUY VẤN DỮ LIỆUBẰNG DESIGNER

Page 26: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Sử dụng truy vấn để chỉ hiển thị dữ liệu mong muốnB1. Thêm truy vấn

Chọn điều khiển bất kỳ buộc vào dữ liệuNhấn Add Query trong menu thông minh của điều khiểnđó

Truy vấn dữ liệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 26

Page 27: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B2. Đặt tên cho truy vấnB4. Viết thêm mệnh đề Where cho truy vấn

Truy vấn dữ liệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 27

Page 28: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Kết quả:Giao diện sẽ tự thêm một toolbar chứa

Label chứa tên của tham sốTextBox cho phép người dùng nhập tham số cho truy vấnButton để thực thi truy vấn

Truy vấn dữ liệu

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 28

Page 29: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Mã được tự sinh ra

Truy vấn dữ liệu

private void fillByCustomerIDToolStripButton_Click(object sender, EventArgs e){

try{

this.customersTableAdapter.FillByCustomerID(this.mMABooksDataSet1.Customers,((int)(System.Convert.ChangeType(customerIDToolStripTextBox1.Text, typeof(int)))));

}catch (System.Exception ex){

System.Windows.Forms.MessageBox.Show(ex.Message);}

}

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 29

private void fillByCustomerIDToolStripButton_Click(object sender, EventArgs e){

try{

this.customersTableAdapter.FillByCustomerID(this.mMABooksDataSet1.Customers,((int)(System.Convert.ChangeType(customerIDToolStripTextBox1.Text, typeof(int)))));

}catch (System.Exception ex){

System.Windows.Forms.MessageBox.Show(ex.Message);}

}

Page 30: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

TÙY CHỈNH TOOBAR

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 30

TÙY CHỈNH TOOBAR

Page 31: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Toolbar tự động thêm vào khi kéo bảng từ nguồn dữ liệuvào form cũng giống như Toolbar thông thường

Có tùy chỉnh và viết xử lý sự kiện cho các button trêntoolbar này

Toolbar tự động thêm vào khi kéo bảng từ nguồn dữ liệuvào form cũng giống như Toolbar thông thường

Có tùy chỉnh và viết xử lý sự kiện cho các button trêntoolbar này

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 31

Page 32: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B1. Thêm chức năng vào toolbar

Tùy chỉnh Toolbar

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 32

Page 33: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B2. Viết xử lý sự kiệnXử lý sự kiện cho button Cancel

Tùy chỉnh Toolbar

private void bindingNavigatorCancelItem_Click(object sender, EventArgs e)

{this.customersBindingSource.CancelEdit();

}

B2. Viết xử lý sự kiệnXử lý sự kiện cho button Cancel

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 33

private void bindingNavigatorCancelItem_Click(object sender, EventArgs e)

{this.customersBindingSource.CancelEdit();

}

Page 34: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B2. Viết xử lý sự kiệnXử lý sự kiện cho button Get All Customer

Tùy chỉnh Toolbar

private void fillToolStripButton_Click(object sender, EventArgs e)

{try{

this.customersTableAdapter.Fill(this.mmaBooksDataSet.Customers);

}catch (SqlException ex){

MessageBox.Show("Database error # " + ex.Number +": " + ex.Message, ex.GetType().ToString());

}}

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 34

private void fillToolStripButton_Click(object sender, EventArgs e)

{try{

this.customersTableAdapter.Fill(this.mmaBooksDataSet.Customers);

}catch (SqlException ex){

MessageBox.Show("Database error # " + ex.Number +": " + ex.Message, ex.GetType().ToString());

}}

Page 35: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

FORMMASTER/DETAIL

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 35

FORMMASTER/DETAIL

Page 36: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Ví dụ về form Master/Detail

Form Master/Detail thường thể hiện thông tin của haibảng có quan hệ một nhiều

Thiết kế form Master/Detail

Ví dụ về form Master/Detail

Form Master/Detail thường thể hiện thông tin của haibảng có quan hệ một nhiều

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 36

Page 37: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B1. Tạo nguồn dữ liệu từ cửa sổ Data Sources gồm haibảng Customers và Invoices

Demo thiết kế form Master/Detail

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 37

Kết quả là nguồn dữ liệu gồm hai bảng Customers vàInvoices. Trong bảng Customers có bảng con là

invoices thể hiện hai bảng này có quan hệ một – nhiều

Page 38: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B2. Kéo bảng Customers vào formTùy chỉnh các điều khiển trên form

Demo thiết kế form Master/Detail

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 38

Page 39: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B3. Kéo bảng Invoices thuộc bảng Customers vào form

Demo thiết kế form Master/Detail

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 39

Page 40: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

TRIỂN KHAI ỨNG DỤNG

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 40

Page 41: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Triển khai là quá trình tạo bản cài đặt của ứng dụng đểcó thể cài đặt ứng dụng trên máy tính của người dùngCó 3 cách để triển khai ứng dụng

XcopyClickOneSetup program

Triển khai ứng dụng

Triển khai là quá trình tạo bản cài đặt của ứng dụng đểcó thể cài đặt ứng dụng trên máy tính của người dùngCó 3 cách để triển khai ứng dụng

XcopyClickOneSetup program

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 41

Page 42: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Cài đặt bằng cách copy thư mục ứng dụng vào ổ đĩa ngườidùng

Sử dụng lệnh Xcopy của DOS hoặc Windows ExplorerKhông tạo icon trên menu StartKhông hỗ trợ cài đặt các file bắt buộc để chạy ứng dụng(ví dụ .NET FrameWork)Không hỗ trợ tự động update phiên bảnKhông hỗ trợ gỡ bỏ ứng dụngNgười dùng chạy ứng dụng bằng cách nhấn đúp vào file exeChạy ổn định khi tất cả các file cần cho ứng dụng đều cótrong thư mục ứng dụngPhù hợp cho ứng dụng đơn giản và ít người dùng

Xcopy

Cài đặt bằng cách copy thư mục ứng dụng vào ổ đĩa ngườidùng

Sử dụng lệnh Xcopy của DOS hoặc Windows ExplorerKhông tạo icon trên menu StartKhông hỗ trợ cài đặt các file bắt buộc để chạy ứng dụng(ví dụ .NET FrameWork)Không hỗ trợ tự động update phiên bảnKhông hỗ trợ gỡ bỏ ứng dụngNgười dùng chạy ứng dụng bằng cách nhấn đúp vào file exeChạy ổn định khi tất cả các file cần cho ứng dụng đều cótrong thư mục ứng dụngPhù hợp cho ứng dụng đơn giản và ít người dùng

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 42

Page 43: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B1. Chọn tùy chọn build là ReleaseNhấn vào solution, chọn Solution Configurations,chọn Release trong mục Activate solutionconfiguration

Demo triển khai ứng dụng XCopy

B1. Chọn tùy chọn build là ReleaseNhấn vào solution, chọn Solution Configurations,chọn Release trong mục Activate solutionconfiguration

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 43

Page 44: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B2. Build ứng dụngThư mục Release sẽ được tạo ra trong thư mục binThư mục Release chứa các assembly cần thiết cho ứngdụngKhông cần cấu hình hay đăng ký registryNếu ứng dụng sử dụng các tính năng của .NET Framework4, phải cài đặt ứng FrameWork thì mới chạy được ứngdụng

Demo triển khai ứng dụng XCopy

B2. Build ứng dụngThư mục Release sẽ được tạo ra trong thư mục binThư mục Release chứa các assembly cần thiết cho ứngdụngKhông cần cấu hình hay đăng ký registryNếu ứng dụng sử dụng các tính năng của .NET Framework4, phải cài đặt ứng FrameWork thì mới chạy được ứngdụng

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 44

Page 45: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B3. Copy thư mục Release vào ổ cứng người dùngSử dụng Windows ExplorerSử dụng lệnh Xcopy

Ký tự S là thông số chỉ ra rằng copy tất cả các file trong thưmục và thư mục con của thư mục guồn vào thư mục đích

Sử dụng file batchViết lệnh Xcopy vào file batchChạy file batch khi muốn cài đặt hoặc cập nhật phiên bảnmới

Demo triển khai ứng dụng XCopy

C:\>xcopy “đường-dẫn-thư-mục-nguồn” “đường-dẫn-thư-mục-đích /S

B3. Copy thư mục Release vào ổ cứng người dùngSử dụng Windows ExplorerSử dụng lệnh Xcopy

Ký tự S là thông số chỉ ra rằng copy tất cả các file trong thưmục và thư mục con của thư mục guồn vào thư mục đích

Sử dụng file batchViết lệnh Xcopy vào file batchChạy file batch khi muốn cài đặt hoặc cập nhật phiên bảnmới

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 45

Page 46: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Cho phép cài đặt ứng dụng bằng cách nhấn vào linktrên trang webTạo icon cho ứng dụng trên menu StartCho phép sử dụng cửa sổ Uninstall or Change a Program(Win 7) hoặc cửa sổ Add or Remove Program để gỡ bỏứng dụngTự động kiểm tra và cài đặt các file cần thiết cho ứngdụngCho phép tự động update ứng dụngPhù hợp cho các ứng dụng nhiều người dùng

Triển khai ClickOne

Cho phép cài đặt ứng dụng bằng cách nhấn vào linktrên trang webTạo icon cho ứng dụng trên menu StartCho phép sử dụng cửa sổ Uninstall or Change a Program(Win 7) hoặc cửa sổ Add or Remove Program để gỡ bỏứng dụngTự động kiểm tra và cài đặt các file cần thiết cho ứngdụngCho phép tự động update ứng dụngPhù hợp cho các ứng dụng nhiều người dùng

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 46

Page 47: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Mở cửa sổ Properties:Nhấn vào project và chọn Properties

Demo triển khai ClickOne

Mở cửa sổ Properties:Nhấn vào project và chọn Properties

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 47

Page 48: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Chọn Publish

Demo triển khai ClickOne

1

2 45

6

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 48

3

56

7

Page 49: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B1. Chỉ ra vị trí muốn phát hành ứng dụng (website, ftpserver hay đường dẫn đến thư mục trên máy)

Publish ứng dụng lên website, webserver phải được cài đặtFrontPage Server Extensions

B2. Chỉ ra chế độ cài đặtAvailable online only:

Người dùng chạy ứng dụng từ serverNgười dùng phải có kết nối internet để chạy ứng dụngỨng dụng được download từ server mỗi lần chạy nên nó sẽkhởi động chậm hơn so với ứng dụng offline

Avalable offline as wellỨng dụng sẽ được cài đặt lên ổ cứng người dùngIcon sẽ được thêm vào menu StartCó thể sử dụng tính năng Uninstall or Change a Program củaWin 7

Các bước triển khai ClickOneB1. Chỉ ra vị trí muốn phát hành ứng dụng (website, ftpserver hay đường dẫn đến thư mục trên máy)

Publish ứng dụng lên website, webserver phải được cài đặtFrontPage Server Extensions

B2. Chỉ ra chế độ cài đặtAvailable online only:

Người dùng chạy ứng dụng từ serverNgười dùng phải có kết nối internet để chạy ứng dụngỨng dụng được download từ server mỗi lần chạy nên nó sẽkhởi động chậm hơn so với ứng dụng offline

Avalable offline as wellỨng dụng sẽ được cài đặt lên ổ cứng người dùngIcon sẽ được thêm vào menu StartCó thể sử dụng tính năng Uninstall or Change a Program củaWin 7

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 49

Page 50: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B3. Chỉ ra phiên bản của ứng dụngMặc định phiên bản của ứng dụng sẽ tăng mỗi lần bạnpublish ứng dụngCó thể tự thiết lập phiên bản mong muốn

Các bước triển khai ClickOne

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 50

Page 51: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B4. Chỉ ra file của ứng dụngTheo mặc định chỉ có file exe và file manifest được publishNhấn vào Show all files để hiển thị file pdb và publish

Các bước triển khai ClickOne

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 51

Page 52: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B5. Chỉ ra những ứng dụng cần phải được cài đặt trướcđể chạy ứng dụng

Chỉ ra những ứng dụng cần được cài đặtChỉ ra vị trí để download những ứng dụng đó

Các bước triển khai ClickOne

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 52

Page 53: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B6. Thiết lập tùy chọn cập nhật

Các bước triển khai ClickOne

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 53

Page 54: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B7. Thiết lập tùy chọn publish

Các bước triển khai ClickOne

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 54

Page 55: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Cho phép người dùng cài đặt ứng dụng bằng cách chạychương trình cài đặt SetupCho phép người dùng chỉ ra thư mục cài đặtTạo icon trên menu StartCho phép sử dụng tính năng Uninstall or Change aProgram của WindowKiểm tra các ứng dụng phải được cài đặt hoặc các filecần thiết để chạy ứng dụngCó thể cài đặt các thành phần chia sẻ trong GAC

GAC (Global Assembly Cache) là thư mục chứa tất cả cácAssembly chung cho tất cả các phần mềm

Có thể thay đổi registry để cài đặt các thành phần COMPhù hợp với các ứng dụng phức tạp

Triển khai chương trình cài đặt Setup

Cho phép người dùng cài đặt ứng dụng bằng cách chạychương trình cài đặt SetupCho phép người dùng chỉ ra thư mục cài đặtTạo icon trên menu StartCho phép sử dụng tính năng Uninstall or Change aProgram của WindowKiểm tra các ứng dụng phải được cài đặt hoặc các filecần thiết để chạy ứng dụngCó thể cài đặt các thành phần chia sẻ trong GAC

GAC (Global Assembly Cache) là thư mục chứa tất cả cácAssembly chung cho tất cả các phần mềm

Có thể thay đổi registry để cài đặt các thành phần COMPhù hợp với các ứng dụng phức tạp

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 55

Page 56: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B1. Tạo Project SetupThêm Project setup vào solution

Các bước triển khaichương trình cài đặt Setup

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 56

Project setup đượcthêm vào

Page 57: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Các bước triển khaichương trình cài đặt Setup

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 57

Page 58: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B2. Thiết lập cho project SetupThiết lập file chạy chương trình cài đặt

Nhấn vào một thư mục bất kỳ trong File System (ApplicationFolder)Chọn Add Project OutputChọn Primary output

Thêm các file bổ sung như Readme hoặc file CSDLNhấn vào một thư mục bất kỳ trong File SystemChọn Add File

Các bước triển khaichương trình cài đặt Setup

B2. Thiết lập cho project SetupThiết lập file chạy chương trình cài đặt

Nhấn vào một thư mục bất kỳ trong File System (ApplicationFolder)Chọn Add Project OutputChọn Primary output

Thêm các file bổ sung như Readme hoặc file CSDLNhấn vào một thư mục bất kỳ trong File SystemChọn Add File

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 58

Page 59: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

B3. Build project SetupChọn tính năng Solution ConfigurationsChọn ReleaseChọn build FutureSetup

Các bước triển khaichương trình cài đặt Setup

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 59

Page 60: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

TRIỂN KHAI ỨNGDỤNG SỬ DỤNG CSDL

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 60

TRIỂN KHAI ỨNGDỤNG SỬ DỤNG CSDL

Page 61: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Triển trai cho một nhóm người dùng được kết nối vớinhau bởi mạng LAN

Lưu CSDL trên serverThiết lập chuỗi kết nối trỏ đến ServerThiết lập cho tất cả người dùng đều truy cập được đếnServer

Triển khai ClickOne

Triển trai cho một nhóm người dùng được kết nối vớinhau bởi mạng LAN

Lưu CSDL trên serverThiết lập chuỗi kết nối trỏ đến ServerThiết lập cho tất cả người dùng đều truy cập được đếnServer

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 61

Data Source=SAMSUNG-R439;InitialCatalog=MMABooks;UserID=sa;Password=123456

Tên server

Page 62: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Triển khai cho người dùng độc lậpKhi triển khai ứng dụng cho từng người dùng độc lập cầnphải lưu trữ CSDL trên máy tính của người dùng nên phải

Thêm file CSDL (.mdf và ldf) vào project hai file này đượctự động thêm vào cửa sổ Application FilesThiết lập chuỗi kết nối

Triển khai ClickOne

Triển khai cho người dùng độc lậpKhi triển khai ứng dụng cho từng người dùng độc lập cầnphải lưu trữ CSDL trên máy tính của người dùng nên phải

Thêm file CSDL (.mdf và ldf) vào project hai file này đượctự động thêm vào cửa sổ Application FilesThiết lập chuỗi kết nối

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 62

Data Source=SAMSUNG-R439;AttachDbFilename=|DataDirectory|\MMABooks.mdf;User ID=sa;Password=123456

Page 63: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Triển khai ClickOne

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 63

File mdf và log được tự động thêm vào Application Files

Page 64: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Triển trai cho một nhóm người dùng được kết nối vớinhau bởi mạng LAN

Thực hiện giống như với ClickOneTriển khai cho người dùng độc lập

Thêm thư file CSDL vào project Set (thư mục ApplicationFolder)Thiết lập ứng dụng cần có để chạy ứng dụng

Chọn page PropertyChọn button Prerequisites

Triển khai chương trình cài đặt Setup

Triển trai cho một nhóm người dùng được kết nối vớinhau bởi mạng LAN

Thực hiện giống như với ClickOneTriển khai cho người dùng độc lập

Thêm thư file CSDL vào project Set (thư mục ApplicationFolder)Thiết lập ứng dụng cần có để chạy ứng dụng

Chọn page PropertyChọn button Prerequisites

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 64

Page 65: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

.NET hỗ trợ các tính năng tiện lợi để người dùng tạonhanh ứng dụngNgười dùng có thể tạo nguồn dữ liệu bằng Wizardthay vì bằng cách viết mãNgười dùng có thể kéo dữ liệu từ nguồn dữ liệu vàoform cùng với tùy chỉnh nhỏ để được form mong muốn.NET hỗ trợ truy vấn bằng Designer để lọc dữ liệumong muốn

Tổng kết bài học

.NET hỗ trợ các tính năng tiện lợi để người dùng tạonhanh ứng dụngNgười dùng có thể tạo nguồn dữ liệu bằng Wizardthay vì bằng cách viết mãNgười dùng có thể kéo dữ liệu từ nguồn dữ liệu vàoform cùng với tùy chỉnh nhỏ để được form mong muốn.NET hỗ trợ truy vấn bằng Designer để lọc dữ liệumong muốn

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 65

Page 66: Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trình winform - Giáo trình FPT

Visual Studio hỗ trợ khiển khai ứng dụng theo 3 cáchXcopy, ClickOne và chương trình SetupXcopy thường được dùng cho ứng dụng đơn giản, ítngười dùngClickOne thường được dùng cho ứng dụng nhiềungười dùngChương trình Setup thường được dùng cho ứng dụngphức tạpClickOne và Setup đều hỗ trợ triển khai ứng dụng cóCSDL

Tổng kết bài học

Visual Studio hỗ trợ khiển khai ứng dụng theo 3 cáchXcopy, ClickOne và chương trình SetupXcopy thường được dùng cho ứng dụng đơn giản, ítngười dùngClickOne thường được dùng cho ứng dụng nhiềungười dùngChương trình Setup thường được dùng cho ứng dụngphức tạpClickOne và Setup đều hỗ trợ triển khai ứng dụng cóCSDL

Lập trình với CSDL - Sử dụng Designer & Triển khai ứng dụng 66