1. Trang chủ
  2. » Công Nghệ Thông Tin

Xây dựng ứng dụng CSDL bằng Microsoft Visual Studio 2005

45 1,3K 9
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng ứng dụng CSDL bằng Microsoft Visual Studio 2005
Tác giả Phạm Quang Hoà
Trường học Trường Đại Học
Thể loại Đồ án
Năm xuất bản 2005
Định dạng
Số trang 45
Dung lượng 279,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Xây dựng ứng dụng CSDL bằng Microsoft Visual Studio 2005.

Trang 1

PHẠM QUANG HOÀ

Trang 2

Giới thiệu về NET.

Giới thiệu về Visual Studio 2005 và SQL Server 2005.Tạo ứng dụng tạo bằng Visual Studio 2005

Thiết kế cơ sở dữ liệu

Hiển thị dữ liệu lên lưới

Sửa đổi dữ liệu bằng hộp nhập

Lập báo các báo cáo với CrystalReports

Đóng gói và phân phối ứng dụng

Trang 3

Microsoft Visual Studio 2005 là một môi trường phát

triển rất mạnh Tất cả các công việc, từ thiết kế CSDL, thiết kế giao diện hay viết mã đều có thể thực hiện trong môi trường phát triển này

Trang 4

 Quản lý bộ nhớ các chương trình NET.

 Bẫy lỗi và xử lý lỗi.

 Bảo mật.

.NET Framework cung cấp một thư viện đầy đủ, bao phủ hầu hết các lĩnh vực như: hệ thống, giao diện, đồ hoạ, toán học, đa

phương tiện, mạng, mã hoá và bảo mật.

Hiện nay, các phiên bản NET Framework 1.1 và NET Framework 2.0 được sử dụng phổ biến Bộ cài đặt các phiên bản này có thể tải

về tại website của Microsoft.

Trang 5

Microsoft NET Languages

Các ngôn ngữ lập trình NET của Microsoft bao gồm:

 C# - Là một ngôn ngữ mới , cú pháp ngôn ngữ này mang nhiều đặc điểm của Java và C++.

 Visual Basic NET – Là ngôn ngữ sử dụng cú pháp của Visual Basic, được thiết kế cho NET.

 J#, Managed C++ – Các ngôn ngữ ít sử dụng hơn, sử dụng cú pháp của Java, C++.

Các ngôn ngữ này đều được xây dựng trên một kiến

trúc thống nhất, do đó các module chương trình có thể xây dựng bằng các ngôn ngữ khác nhau

Các ngôn ngữ NET hội tụ nhiều điểm mạnh của các

ngôn ngữ khác, đặc biệt là Java Ngoài ra còn có rất

nhiều cải tiến được đưa vào nên có thể nói đây là các ngôn ngữ tiên tiến nhất hiện nay

Trang 6

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 là một môi trường phát triển rất mạnh

và được thiết kế rất tốt.

Với môi trường VS 2005, có thể thực hiện các công việc:

 Thiết kế CSDL: Tốt nhất với MS SQL Server 2005.

 Thiết kế giao diện ứng dụng.

 Thiết kế web.

 Thiết kế biểu tượng, hình ảnh.

 Viết mã cho hầu hết các ngôn ngữ: VB.NET, C#, C/C++, Java, HTML, XML

Các phiên bản phổ biến của Visual Studio 2005:

Visual Studio 2005 Express Edition: Là một phiên bản nhỏ gọn nhưng khá

đầy đủ các tính năng Phiên bản này có thể tải về miễn phí từ website của Microsoft.

Visual Studio 2005 Professional Edition: Là phiên bản với đầy các đủ tính

Trang 7

Tuỳ theo mục đích mà ta có thể lựa chọn các phiên bản khác nhau của MS SQL Server 2005 Tiêu biểu là:

SQL Server 2005 Express được cung cấp miễn phí, tích hợp sẵn

trong bộ cài Visual Studio 2005 Professional, hoặc có thể tải về từ website của Microsoft Phiên bản này thích hợp cho việc thử nghiệm ứng dụng, hoặc các ứng dụng chỉ chạy trên một máy với Windows XP.

SQL Server Enterprise thích hợp cho doanh nghiệp, hỗ trợ nhiều kết

nối và kế nối xa Phiên bản này chạy tốt trên hệ điều hành Windows

2003 Server, không hỗ trợ Windows XP Bộ cài của SQL Server 2005 Enterprise đặt trên một đĩa DVD, dung lượng khoảng 800MB.

Các phiên bản này có thể chạy song song với các phiên bản SQL Server cũ hơn như SQL Server 2000

Trang 8

Trong bài này, tôi sẽ hướng dẫn các bạn các kỹ thuật

cơ bản và nâng cao trong việc xây dựng một ứng dụng

Để minh hoạ, chúng ta sẽ xây dựng một chương trình

cụ thể tên là Contact Me, với các tính năng chính sau:

 Quản lý danh sách khách hàng, phân theo từng nhóm.

 Ghi nhận thông tin trao đổi với khách hàng qua từng lần gặp.

Chương trình được xây dựng bằng ngôn ngữ VB.NET

Trang 9

Khởi động môi trường phát triển Visual Studio 2005.

Vào File | New Project

 Chọn Project type: Visual Basic | Windows.

 Chọn Template: Windows Application.

 Nhập Name: ContactMe.

Ứng dụng mẫu được tạo ra với một cửa sổ chính tên là Form1 Trong Solution Explorer, đổi tên cửa sổ này

thành MainForm

Trang 10

Đổi tiêu đề cửa sổ thành Contact Me.

Thêm vào MainForm một MenuStrip và thiết kế các

chức năng như sau:

 Hệ thống | Thoát.

 Quản lý | Danh sách khách hàng, Ghi chú.

Nếu muốn thực hiện lệnh dùng thanh công cụ, thêm vào một ToolStrip và thiết kế các chức năng tương ứng

Trang 11

Lưu tệp dưới định dạng Unicode

Ngầm định, tất cả các tệp được lưu dưới định dạng

ANSI Trong trường hợp cửa sổ có ký tự tiếng Việt có dấu, cần lưu tệp dưới định dạng Unicode

Vào File | Save MainForm.vb As

Nhấn vào mũi tên cạnh nút Save và chọn Save with

Encoding Nhấn Yes trong hộp thoại xác nhận ghi đè

Trong hộp Advanced Save Options, chọn Encoding là Unicode (UTF-8 with signature) – Codepage 65001

Nhấn OK để ghi

Trang 12

Thêm một cơ sở dữ liệu vào dự án

Vào Project | Add New Item Trong hộp New New Item:

 Template: SQL Database.

 Name: ContactMe.mdf.

Nhấn Add để thêm, nhấn Cancel để đóng hộp

Datasource Configuration Wizard

Sau bước này, dự án đã có một CSDL tên là

ContactMe, đồng thời chuỗi kết nối tới CSDL cũng được tạo ra để sẵn sàng kết nối tới CSDL

CSDL sẽ được tự động gắn vào SQL Server khi

chương trình chạy, và được gỡ ra khi chương trình kết thúc

Trang 13

Nhấn phải chuột vào Database Diagrams và chọn Add New Diagram Nhấn Yes nếu có hộp cảnh báo xuất

hiện

Nhấn Close ở hộp thoại Add Table, vì hiện thời chưa có bảng nào

Nhấn phải chuột, chọn New Table để thêm vào một

bảng Đặt tên bảng là Customers (chú ý tên số nhiều).Nhấn File | Save Diagram1 (Ctrl + S) để ghi và đặt tên

sơ đồ là ContactMe

Trang 14

CustomerID int NoteTime datetime

Column Name Data Type Allow Nulls

Trang 15

Tên bảng và các trường nên đặt bằng tiếng Anh.

Nếu bảng là một danh sách các sự vật, thì tên bảng là một danh từ số nhiều (tên sự vật) Ví dụ: Customers, Notes

Viết hoa chữ cái đầu của các từ trong tên

Trường khoá chính nên đặt là ID

Khoá ngoại nên đặt gồm tên bảng (số ít) và ID Ví dụ CustomerID trong bảng Notes

Kiểu dữ liệu văn bản nên chọn là nvarchar (kiểu xâu ký

tự Unicode có độ dài thay đổi)

Trang 16

Nhấn phải chuột vào trường ID, chọn Set Primary Key.

Nhấn phải chuột vào ID, chọn Properties Trong hộp

Properties, mục Identity Specification:

 (Is Identity): Yes

 Identity Increment: 1

 Identity Seed: 1Lần lượt tạo khoá chính cho tất cả các bảng

Trang 17

 Nhấn chuột vào trường CustomerID trong bảng Notes.

 Kéo và thả vào bảng Customers.

 Trong hộp Table and Columns, kiểm tra lại các khoá Nhấn OK để xác nhận.

Để đặt quan hệ sao cho khi xoá một khách hàng, thì sẽ xoá hết toàn bộ các ghi chú liên quan:

 Trong hộp Foreign Key Relationship, mục INSERT and UPDATE Specification, chọn Delete Rule là Cascade.

Trang 18

Các lớp quan trọng của ADO.NET

 Connection: tạo kết nối tới CSDL.

 Command: thực hiện một truy vấn tới CSDL.

 Parameter: Biểu diễn các tham số cho truy vấn.

 DataAdapter: cầu nối để trao đổi dữ liệu giữa nguồn dữ liệu và Dataset.

Trang 19

Một Dataset có thể coi như là một

CSDL trong bộ nhớ Trong Dataset

Chọn hai bảng Customers và Notes

từ Server Explorer và thả vào trong

Dataset

Sau bước này, chúng ta đã có một

Dataset chứa hai bảng Customers

và Notes

Trang 20

BindingSource

Trang 21

Tạo dữ liệu mẫu

Mở bảng Customers trong Server Explorer bằng cách nhấn chuột phải và chọn Show Table Data

Nhập một vài dữ liệu mẫu, chú ý trường ID tự động

tăng, không cần nhập

Trang 22

Xây dựng cửa sổ hiện thị danh sách khách hàng

Chúng ta sẽ tạo một cửa sổ để hiển thị danh sách khách hàng.

Vào Project | Add Windows Form, nhập tên là CustomerListForm

và nhấn Add.

Vào Build | Rebuild Solution để dịch toàn bộ dự án.

Sau khi dịch, trong Toolbox, nhóm ContactMe Component bạn sẽ thấy xuất hiện những lớp mới của dự án.

Ở cửa sổ CustomerListForm:

 Thêm đối tượng ContactMeDataset và đổi tên thành CustomersDataset.

 Mở Toolbox, nhóm Data, thêm một DataGridView và đặt tên là CustomersDataGridView.

 Thêm vào một đối tượng BindingSource và đặt tên là CustomersBindingSource.

 Đặt thuộc tính Anchor cho CustomersDataGridView là Top, Bottom, Left, Right.

Trang 23

Gắn kết dữ liệu cho các đối tượng

Bây giờ chúng ta sẽ gắn kết dữ liệu giữa Dataset và DataGridView thông qua BindingSource.

 Chọn CustomersBindingSource và đặt thuộc tính DataSource là Other Data Sources | CustomerListForm List Instances | CustomersDataSet.

 Đặt thuộc tính DataMember của CustomersBindingSource là Customers.

 Đặt thuộc tính DataSource của CustomersDataGrid là CustomersBindingSource.

Sau khi hoàn thành các thao tác trên, trên lưới đã xuất hiện các cột tương ứng với các trường dữ liệu Chúng ta sẽ sửa lưới bằng cách nhấn phải chuột và chọn Edit Columns.

 Xoá các cột không cần thiết.

 Sắp xếp lại thứ tự hiện thị nếu muốn.

 Sửa lại tiêu đề các cột, dùng tiếng Việt.

 Đặt lại độ rộng các cột.

Trang 24

Thường thì thủ tục xử lý sự kiện Load của Form đã

được sinh tự động Nếu chưa có, thêm vào đoạn mã:

Private Sub CustomerListForm_Load( _

ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load

Me CustomersTableAdapter.Fill( Me CustomersDataSet.Customers)

End Sub

Trang 25

Thêm lệnh hiển thị cửa sổ

Mở cửa sổ MainForm, nháy đúp vào mục menu Quản lý

| Danh sách khách hàng và cài đặt sự kiện như sau:

Chú ý: Khác với VB, trong VB.NET, tất cả các đối tượng

phải dùng toán tử new để tạo ra trước khi sử dụng.

Private Sub DanhSáchKháchHàngToolStripMenuItem_Click( _

ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles DanhSáchKháchHàngToolStripMenuItem.Click

Dim CustomerListForm As New CustomerListForm

CustomerListForm.ShowDialog()

End Sub

Trang 26

Chạy thử và xem kết quả

Nhấn Ctrl + F5 để chạy chương trình Vào Quản lý |

Danh sách khách hàng để hiển thị cửa sổ danh sách

Trang 27

Cửa sổ chi tiết khách hàng

Để thêm hoặc sửa một bản ghi, cần thiết kế một cửa sổ nhập

Thêm một cửa sổ vào dự án và đặt tên là

CustomerDetailForm

Thiết kế các cửa sổ với các hộp nhập tương ứng

Trang 28

Đặt tên các đối tượng trên cửa sổ

Để dễ quản lý, tất cả các đối tượng trên cửa sổ đều

phải đặt tên có ý nghĩa, thay cho các tên ngầm định

Quy tắc chung: Tên của đối tượng là ghép giữa ý nghĩa

và kiểu Ví dụ nút OK có tên OKButton, nút Cancel có tên là CancelBtn (*)

Với các đối tượng gắn với các trường dữ liệu, tên của đối tượng là ghép giữa tên trường và kiểu đối tượng

 Hộp nhập trường Name có tên: NameTextBox.

 Hộp chọn trường Category có tên: CategoryComboBox.

Trang 29

Gắn dữ liệu vào các đối tượng

Thêm vào cửa sổ CustomerDetailForm các đối tượng CustomerDataSet và CustomerBindingSource

Gắn nguồn dữ liệu của CustomerBindingSource là

CustomerDataSet tương tự như trong cửa sổ

CustomerListForm

Trong Properties của các đối tượng, mục

(DataBindings), gắn trường Text của các đối tượng với các trường dữ liệu tương ứng của

CustomerBindingSource

Trang 30

Đổ dữ liệu vào cửa sổ CustomerDetailForm

Cửa sổ chi tiết sẽ không lấy trực tiếp dữ liệu từ

Database, mà dữ liệu được lấy từ DataSet của cửa sổ CustomerListForm

Mở mã của CustomerDetailForm, xoá thủ tục Load

được sinh sẵn

Thêm vào một Constructor mới với một tham số là

DataSource Tham số này chính là bản ghi cần sửa

Để đổ dữ liệu lên các đối tượng, dùng lệnh gán:

Me.CustomerBindingSource.DataSource = DataSource

Trang 31

Chấp nhận và huỷ bỏ thay đổi

Khi người dùng nhấn nút Chấp nhận, dữ liệu được cập nhật vào DataSet

Khi người dùng nhấn nút Huỷ bỏ, dữ liệu cũ được phục hồi

Để ghi nhận thay đổi, dùng lệnh:

Me.CustomerBindingSource.EndEdit()

Để huỷ bỏ thay đổi, dùng lệnh:

Me.CustomerBindingSource.CancelEdit()

Trang 32

Quy tắc để sửa như sau:

1 Kiểm tra xem danh sách có bản ghi nào không bằng

biểu thức:

Me.CustomersBindingSource.Current Is Nothing

2 Nếu có bản ghi, tạo cửa sổ chi tiết và hiển thị Dữ liệu

truyền vào cửa sổ chi tiết là bản ghi hiện thời, lấy ra bằng biểu thức:

Me.CustomersBindingSource.Current

3 Nếu kết quả trả về của hộp thoại là OK, cập nhật dữ

liệu vào database bằng lệnh:

Me.CustomersTableAdapter.Update( _

Trang 33

Thêm mới một bản ghi

Quy tắc để thêm một bản ghi là:

1 Thêm mới một bản ghi trắng bằng lệnh:

Me.CustomersBindingSource.AddNew()

2 Sửa bản ghi vừa thêm mới giống như là các bản ghi đã

có sẵn

Trang 34

Xoá bản ghi hiện thời

1 Kiểm tra xem có bản ghi nào không

2 Nếu có, xoá bản ghi hiện thời bằng lệnh:

Me.CustomersBindingSource.RemoveCurrent()

3 Cập nhật vào CSDL bằng lệnh:

Me.CustomersTableAdapter.Update(Me.CustomersData Set.Customers)

Trang 36

Truy cập bản ghi hiện thời

Định nghĩa một thuộc tính như sau:

Private ReadOnly Property CurrentItem() As

Trang 37

Hiển thị tên thay vì ID

Danh sách các ghi chú được hiển thị ngay trên cửa sổ chính Các bước thực hiện giống như danh sách khách hàng

Có một vấn đề, đó là ta không muốn hiển thị trường CustomerID mà muốn hiển thị tên khách hàng

1 Trong Solution Explorer, Mở ContactMeDataset.xsd

2 Nhấn phải chuột vào bảng Notes và chọn Configure

3 Sửa câu SQL như sau:

SELECT ID, CustomerID, (SELECT Name FROM Customers WHERE Customers.ID = CustomerID)[CustomerName], NoteTime, Note FROM dbo.Notes

4 Nhấn Finish để kết thúc Khi đó bảng Notes sẽ có thêm

trường CustomerName

Trang 38

Nhập khoá ngoại như thế nào?

1 Thông thường các trường khoá ngoại được nhập thông qua các

ComboBox.

2 Ngoài DataSet và BindingSource chính, cần có DataSet và

BindingSource làm nguồn dữ liệu cho ComboBox.

3 Gắn các trường của ComboBox như sau:

 DataSource: gắn với BindingSource làm nguồn dữ liệu cho ComboBox.

 DisplayMember: gắn với trường cần hiển thị.

 ValueMember: gắn với trường ID.

 (Data Bindings) | Text: gắn với trường hiển thị của khoá ngoại.

 (Data Bindings) | SelectedValue: gắn với khoá ngoại.

Chú ý: Việc đổ dữ liệu từ bản ghi hiện thời phải thực hiện sau khi nguồn dữ liệu cho ComboBox được điền.

Trang 39

Đặt định dạng ngày tháng, số kiểu Việt Nam

Định dạng kiểu Anh - Mỹ có khác so với của Việt Nam,

ví dụ như tháng trước, ngày sau hay dùng dấu chấm để phân cách phần thập phân

.NET cho phép đặt định dạng cho riêng chương trình bằng lệnh:

My.Application.ChangeCulture("vi-VN")

My.Application.ChangeUICulture("vi-VN")

Các lệnh này thường được đặt trong sự kiện Startup

của MyApplication

Trang 40

Lưu thông tin thiết lập như thế nào?

Khi muốn lưu các thiết lập, hoặc một thông tin nào đó

để sử dụng cho lần chạy sau, dùng tiện ích có sẵn của chương trình

1 Trong SolutionExplorer, nhấn đúp vào My Project

2 Chọn tab Settings và thêm một biến vào danh sách, ví

dụ: MyParameter

3 Khi đó có thể truy cập biến này từ đâu trong chương

trình bằng lệnh: My.Settings.MyParameter Việc ghi lại giá trị khi kết thúc chương trình và phục hồi giá trị khi bắt đầu được thực hiện tự động

Chú ý: Các thông tin này được lưu trong một tệp XML đi kèm chương trình Do đó có thể thay đổi được bằng một

Trang 41

Chuỗi kết nối được lưu ở đâu

Chuỗi kết nối được lưu trong phần Settings, và do đó ta

có thể thay đổi được ngay cả khi chương trình đã được dịch

Khi bàn giao chương trình, trong trường hợp thay đổi các thông tin về SQL Server, có thể mở tệp XML lưu

các thiết lập của chương trình để sửa đổi chuỗi kết nối

Trang 42

Vào File | New Project

 Project Type: Setup and Deployment.

 Template: Setup Project.

Đưa các tệp cần thiết vào bộ cài và dịch Kết quả thu

được một bộ cài hoàn chỉnh

Trang 43

Cần cài đặt những gì cho một máy mới?

Khi đưa chương trình vào một máy mới, để chương trình có thể chạy được, cần cài đặt những thứ sau:

1 .NET Framework 2.0

2 SQL Server 2005

3 CrystalReports (trong trường hợp có báo cáo)

4 Setup của chương trình

Trang 44

và làm được các chương trình đơn giản.

Ngoài ra, bài học còn cung cấp những kỹ thuật nâng

cao, mặc dù chỉ mang tính chất giới thiệu Những kỹ

thuật này phù hợp với những bạn đã có cơ bản về

Visual Studio 2005

Ngày đăng: 08/11/2012, 16:48

TỪ KHÓA LIÊN QUAN

w