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
Trang 1Truy 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ệ
Trang 2C# 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
Trang 3Khi 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
Trang 4chủ 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)
Trang 5Hì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)
Trang 6Hì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à
Trang 7duyệ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
Trang 8Hì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.
Trang 9Hì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
Trang 10Hì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