Truy cập cơ sở dữ liệu qua C# ADO.NET
- Phần 1
Trong bài viết này chúng tôi sẽ giới thiệu cho các bạn cách
truy cập cơ sở dữ liệu qua C# ADO.NET.
Cơ sở dữ liệu và ngôn ngữ hướng đối tượng
Trước khi các máy tính mini và các PC xuất hiện, thế giới
CNTT đơn giản hơn rất nhiều. Thời gian đó người ta cho rằng
chỉ có các tổ chức rất lớn mới cần đến công nghệ máy tính.
Tuy nhiên một vài năm đây, tất cả chúng ta đều có thể sở hữu
những chiếc điện thoại di động với sức mạnh tính toán đủ
mạnh để có thể xử lý dữ liệu cho một quá trình bắn tên lửa lên
m
ặt trăng. Và cho đến ngày nay, sức mạnh tính toán, phần
mềm, khả năng lưu trữ và băng thông, tất cả đều là mặt hàng
có th
ể trao đổi. Mặc dù vậy vẫn có một điều khá đáng quý
trong lĩnh vực máy tính. Vấn đề ở đây là, sự thiếu hụt một nền
tảng phổ dụng cũng là một cách để thúc đẩy sự phát minh và
sáng t
ạo trong lĩnh vực rộng hơn. Dưới dạng các chuẩn phần
mềm, chúng ta có một danh sách những lựa chọn ấn tượng,
hãy xem sự da dạng của mã nguồn mở và các nền tảng hết sức
phổ biến như Linux và iPhone. Nếu chỉ có một hệ điều hành
và m
ột ngôn ngữ lập trình chính thì cũng sẽ có ít sự cạnh
tranh – điều đó cũng thường đi đôi với việc có ít sự lựa chọn.
Đối với thế giới các cơ sở dữ liệu quan hệ cũng có một loạt
các sản phẩm cạnh tranh. Sự truy cập bằng chương trình vào
các s
ản phẩm cơ sở dữ liệu này cũng hiện diện nhiều sự lựa
chọn —Java Persistence API (JPA)/Hibernate, C++, C#,
Java,… Trong bài vi
ết này, chúng tôi sẽ khảo sát công nghệ
C# và ADO.NET trong một trường hợp đặc biệt, mục đích
nh
ằm là để xem các công nghệ này có thể cung cấp những gì
cho các nhà l
ập trình. Tuy nhiên nếu bạn chưa có nhiều kiến
thức về cơ sở dữ liệu, cũng không nên quá lo lắng vì chúng tôi
s
ẽ giới thiệu từ những vấn đề cơ bản nhất.
Lưu
ý: Mã nguồn cho bài viết này hoàn toàn có thể download
tại đây với tư cách một giải pháp C# cho Microsoft Visual C#
2008 Express Edition. Nếu bạn muốn tự chạy mã nguồn này,
ch
ỉ cần giải nén các file vào một thư mục, chẳng hạn như
C:\dbcode. Sau đó mở file giải pháp mang tên
DBConsoleApplication.sln trong Microsoft Visual C# 2008
Express Edition. Thao tác này s
ẽ tự động xây dựng một mã
ngu
ồn và tạo các thực thi cần thiết.
Sau đây chúng ta sẽ can thiệp và triển khai một sản phẩm cơ
sở dữ liệu.
Cài đặt SQL Server
Việc cài đặt và chạy chương trình có thể mất khá nhiều thời
gian, do vậy mà chúng tôi không muốn tốn nhiều thời gian
của bạn vào công việc này. Với mục đích tập trung vào việc
sử dụng một sản phẩm chuyên nghiệp, chính vì vậy bài viết
này chúng tôi đ
ã chọn sử dụng SQL Server 2005 Express
Edition. Bạn có thể sử dụng phiên bản 2008 nếu thích – các ví
d
ụ trong bài viết này sẽ làm việc trên cả nền tảng 2008.
Chúng ta hãy bắt đầu bằng cách download và cài đặt ba hạng
mục dưới đây từ website của Microsoft:
Microsoft SQL Server 2005 Express Edition
Khi cài đặt SQL Server 2005 Express Edition, hãy sử dụng
các thiết lập mặc định; các thiết lập này sẽ tự động taọ một
instance cho database engine.
Microsoft SQL Server Management Studio Express
Đối với SQL Server Management Studio Express, không yêu
c
ầu cấu hình đặc biệt nào – chỉ cần bạn chấp nhận các cấu
hình mặc định. Khi sản phẩm được cài đặt, nó sẽ tự động phát
hiện instance đã được tạo bởi SQL Server 2005 Express
Edition.
Microsoft Visual C# 2008 Express Edition
Các ví dụ code sẽ được xây dựng và được test bằng Visual C#
2008 Express Edition.
T
ất cả các công đoạn trên thoạt nghe có vẻ phức tạp, tuy nhiên
th
ực tế lại không phải như vậy. Chúng ta hãy cài đặt các công
cụ mới trên và chạy chúng.
Khởi chạy SQL Server Management Studio Express
Sản phẩm SQL Server Management Studio Express cho phép
bạn quản lý các instance của SQL Server. Nghĩa là bạn có thể
tương tác với cơ sở dữ liệu được cấu h
ình trên SQL Server
instance đã cho. Hãy chạy SQL Server Management Studio
Express từ menu Start của Windows. Biểu tượng chương
trình thực cho SQL Server Management Studio Express được
cài đặt như một mục menu con trong nhóm các chương tr
ình
c
ủa Microsoft SQL Server 2005: Start > All Programs >
Microsoft SQL Server 2005
.
Khi kh
ởi chạy ứng dụng SQL Server Management Studio
Express, m
ột kết nối sẽ được tạo tự động cho instance của
SQL Server đ
ã cài đặt, xem thể hiện trong hình 1. Tên máy
chủ trong hình 1 lấy từ tên của máy host (trong trường hợp
này, LAPTOP1) và instance của SQL Server
(SQLEXPRESS trong ví dụ này).
Hình 1: Kết nối đến một instance của SQL Server
Khi kết thúc, kích nút Connect trong hộp thoại. Sau một phút,
màn hình SQL Server Management Studio Express chính
s
ẽ xuất hiện (xem trong hình 2).
Hình 2: Kết nối thành công đến SQL Server instance
Vậy ứng dụng SQL Server Management Studio Express chính
xác là gì? Trong hình 2, hãy để ý mục Object Explorer được
hiển thị ở phía trên trong phần panel bên trái – chương trình
này gi
ống như kiểu ứng dụng thám hiểm (explorer) để cho
phép bạn quan sát các instance của database engine. Cũng như
trong Windows, bạn có thể xem một số lượng đáng kể các
thông tin có liên quan đến tất cả các instance của cơ sở dữ liệu
ở đây. Sau đây chúng ta h
ãy tìm hiểu một chút về cửa sổ
Object Explorer.
Trong ph
ần panel bên trái, kích vào dấu cộng phía bên trái của
biểu tượng thư mục Databases. Hành động hãy sẽ hiển thị tất
cả các cơ sở dữ liệu được host bằng instance của SQL Server
đ
ã cho (xem trong hình 3).
Hình 3: Cơ sở dữ liệu cư trú trên SQLEXPRESS.
Thứ đầu tiên cần lưu ý về các cơ sở dữ liệu trong hình 3 là tất
cả chúng đều liên quan đến SQLEXPRESS; hay nói cách
khác, không có cơ sở dữ liệu ứng dụng. Chúng ta h
ãy cứu
chữa tình huống này bằng cách cài đặt một cơ sở dữ liệu mới.
Microsoft có cung cấp nhiều cơ sở dữ liệu mẫu cho việc sử
dụng các sản phẩm SQL Server. Một trong số đó mà chúng tôi
s
ử dụng cho ví dụ này có tên pubs. Bạn có thể download cơ sở
dữ liệu pubs tại đây và cài đặt nó để sử dụng cho các trải
nghiệm của riêng mình, hay có thể sử dụng cơ sở dữ liệu của
riêng bạn.
Khi chạy file cài đặt sẽ triển khai cơ sở dữ liệu pubs, tuy nhiên
b
ạn phải đính kèm nó trong SQL Server Management Studio
Express.
Bước này nghe có vẻ khó khăn, tuy nhiên việc đính
kèm này thực sự rất dễ dàng. Bạn chỉ cần kích nút File và
duyệt đến file instpubs.sql (xem trong hình 4). File của chúng
tôi được định vị theo đường dẫn dưới đây:
C:\SQL Server 2000 Sample Databases\instpubs.sql
Ch
ọn file và kích Open. Khi file kịch bản được mở, kích nút
Execute trong toolbar (xem trong hình 5).
Hình 4: Chạy kịch bản cơ sở dữ liệu pubs
Hình 5: Trước khi file instpubs.sql được thực thi
Nếu tất cả đều diễn ra tốt đẹp với cài đặt của bạn, một cơ sở
dữ liệu mới có tên gọi pubs sẽ xuất hiện trong danh sách bên
trái panel, xem th
ể hiện trong hình 6.
Lưu ý: Để xem đầu ra trong hình 6, bạn có thể kích vào
database instance (LAPTOP1\SQLEXPRESS) trong phần
panel bên trái của cửa sổ Object Explorer, sau đó kích nút
Refresh.
Hình 6: Sau khi đính kèm vào cơ sở dữ liệu pubs
Nếu mở rộng cơ sở dữ liệu pubs bằng cách kích vào dấu cộng,
bạn sẽ thấy các bảng thành phần, xem thể hiện trong hình 7.
Hình 7: Sau khi cài đặt thành công cơ sở dữ liệu pubs
Cơ sở dữ liệu trong ví dụ này đã hoàn toàn sẵn sàng cho việc
truy cập thông qua C#. Đó là tất cả những gì chúng tôi sẽ thực
hiện với SQL Server Management Studio Express trong bài
vi
ết này. Như những hình thể hiện, sản phẩm này cung cấp
một môi trường khá đẹp để bạn có thể quản trị các cơ sở dữ
liệu SQL Server của mình. Giờ đây chúng ta sẽ đi xem cách
truy cập vào các cơ sở dữ liệu đó bằng Visual C# 2008
Express Edition như thế n
ào.