• Thứ Hai, 17/08/2009 10:21 (GMT+7)

    VC# 2005 truy xuất cơ sở dữ liệu Access?

    Câu hỏi :
    Xin hướng dẫn viết lệnh VC# 2005 truy xuất cơ sở dữ liệu Access. 
     

    Trả lời :
    Nếu muốn lập trình truy xuất CSDL Access bằng ngôn ngữ VC# (hay bất kỳ ngôn ngữ .Net nào), bạn có thể dùng các đối tượng Odbc trong Package có tên là System.Data.Odbc. Sau đây là qui trình xây dựng 1 ứng dụng VC# nhỏ demo việc nối kết với database Access, đọc các record của bảng dữ liệu và hiển thị kết quả lên ListBox của ứng dụng:

     1. Chạy Access, tạo mới (hay mở lại) 1 file database (giả sử có tên là c:\YourDB.mdb), tạo 1 bảng dữ liệu có tên là danhbadienthoai, mỗi record gồm 3 field thông tin: tenthuebao, sodienthoai, diachi đều thuộc kiểu dữ liệu text (chuỗi). Thử thêm một số record dữ liệu theo nhu cầu vào bảng danhbadienthoai.

     2. Chạy Visual Studio, chọn chức năng Create.Project, chọn loại Project Visual C#.Windows.Windows Application để tạo mới Project C#.

     3. Khi Form ứng dụng hiển thị, bạn hãy tạo 2 đối tượng: button "Xem danh bạ" có tên là btnView và ListBox có tên là lbContents như hình vẽ dưới đây.

     4. Nhấn kép chuột vào button để tạo hàm xử lý sự kiện Click chuột cho button rồi viết code cho hàm này như sau:
     
     //thêm lệnh using sau vào đầu file để sử dụng các đối tượng Odbc.
     using System.Data.Odbc;
     //hàm xử lý sự kiện Click trên button btnView
     private void btnView_Click(object sender, EventArgs e) {
     //tạo cầu nối tới database cần truy xuất
     OdbcConnection myConnection = new OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\\YourDB.mdb");
     myConnection.Open();
     //tạo đối tượng Command thực hiện truy vấn
     OdbcCommand myCommand = new OdbcCommand();
     myCommand.Connection = myConnection;
     myCommand.CommandText = "Select * from danhbadienthoai";
     OdbcDataReader myReader;
     //thi hành lệnh truy vấn và cất kết quả vào đối tượng myReader
     myReader = myCommand.ExecuteReader();
     lbContents.Items.Clear();
     //lặp đọc từng record và hiển thị
     String buf;
     while (myReader.Read()) {
     //xây dựng chuỗi thông tin cần hiển thị
     buf = myReader.GetString(0) + ", " + myReader.GetString(1) + ", " + myReader.GetString(2);
     //hiển thị chuỗi thông tin vào ListBox
     lbContents.Items.Add(buf);
     }
     //đóng các đối tượng đã dùng
     myReader.Close();
     myConnection.Close();
     }
     5. Chạy thử ứng dụng, khi Form hiển thị hãy ấn chuột vào button để xem kết quả hiển thị.
     
    Chuyên mục: Lập trình