Ket noi CSDL MSQL voi c tủ tài liệu bách khoa

5 60 0
Ket noi CSDL MSQL voi c tủ tài liệu bách khoa

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

Thông tin tài liệu

CÁCH KẾT NỐI CSDL MYSQL TỪ CHƯƠNG TRÌNH VC# TRONG MƠI TRƯỜNG VISUAL STUDIO 2005 21/08/2007 09:16 AM Bạn lập trình VC# (hay VJ#, VB Net) truy xuất database MySQL cách dùng giao tiếp lập trình sau: ODBC Net, MySQL Provider, OLEDB Net, thư viện lập trình API ODBC Net: giao tiếp chuẩn hóa nên có tính tổng qt hóa cao nhất, bạn truy xuất database MySQL hệ quản trị CSDL khác thông qua đối tượng chuẩn Microsoft (trong namespace System.Data.Odbc) MySQL Provider đặc dụng, thí dụ MySQLDirect, phương pháp giống phương pháp 1, có điều bạn phải cài sử dụng đối tượng đặc dụng hãng khác không dùng đối tượng ODBC chuẩn Microsoft OLEDB Net, phương pháp giống phương pháp 1, khác thay dùng đối tượng ODBC Net, bạn dùng đối tượng OLEDB Net Mặc dù đối tượng OLEDB Net Microsoft cung cấp, Microsoft khuyến cáo họ không hỗ trợ đối tượng OLEDB Net Thư viện lập trình API đặc dụng C++, thí dụ thư viện mysqlclient Đây phương pháp có tính tổng qt hóa thấp nhất, đoạn lệnh truy xuất database ứng dụng chứa nhiều lệnh gọi hàm API thư viện đặc dụng Tóm lại phương pháp trên, có phương pháp tổng quát nhất, bạn nên lập trình dùng phương pháp để truy xuất database MySQL Thí dụ hàm Testdb() sau cho phép tạo table database 'test' MySQL server chạy máy 'NgocDV' quản lý, hàm dùng đối tượng ODBC Net sau: OdbcConnection, OdbcCommand, OdbcDataReader using Console = System.Console; using System.Data.Odbc; private void Testdb() { try{ //Connection string dùng DSN MyODBC 3.51 string MyConString = "DSN=MySQL"; //hoặc Connection string dùng trực tiếp Provider MyODBC 3.51 /*string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=NgocDV;" + "DATABASE=test;" + "UID=zensoft;" + "PASSWORD=nssh;" + "OPTION=3"; */ //tạo connection tới database OdbcConnection MyConnection = new OdbcConnection(MyConString); MyConnection.Open(); //xóa table testdb có OdbcCommand MyCommand = new OdbcCommand("DROP TABLE IF EXISTS testdb",MyConnection); MyCommand.ExecuteNonQuery(); //Tạo lại table testdb có field MyCommand.CommandText = "CREATE TABLE testdb(hoten varchar(40),namsinh int, diachi varchar(50))"; MyCommand.ExecuteNonQuery(); //Thử thêm record liệu MyCommand.CommandText = "INSERT INTO testdb VALUES('Dao Van Ngoc',1983,'An Dong, An Duong, HP')"; MyCommand.ExecuteNonQuery(); //Thử thêm record liệu MyCommand.CommandText = "INSERT INTO testdb VALUES('Duong Thu Son',1983,'Trai Chuoi, Hong bang, Hp')"; MyCommand.ExecuteNonQuery(); //Thử thêm record liệu MyCommand.CommandText = "INSERT INTO testdb VALUES('Pham Tuan Hai',1985,'294 Tran Nguyen Han, HP')"; MyCommand.ExecuteNonQuery(); //Thử thêm record liệu MyCommand.CommandText = "INSERT INTO testdb VALUES('Nguyen Ha Son',1985,'10/10 Lạch tray, HP')"; MyCommand.ExecuteNonQuery(); //Hiệu chỉnh thử field số record thỏa điều kiện MyCommand.CommandText = "UPDATE testdb SET namsinh=1984 WHERE namsinh=1985"; MyCommand.ExecuteNonQuery(); //Đếm số record có MyCommand.CommandText = "SELECT COUNT(*) as TRows FROM testdb"; Console.WriteLine("Total Rows: " + MyCommand.ExecuteScalar()); //Duyệt đọc hiển thị record table MyCommand.CommandText = "SELECT * FROM testdb"; OdbcDataReader MyDataReader; MyDataReader = MyCommand.ExecuteReader(); while (MyDataReader.Read()) { Console.WriteLine("Data: " + MyDataReader.GetString(0) + ", " + MyDataReader.GetInt32(1) + ", " + MyDataReader.GetString(2)); //BIGINTs not supported by MyODBC } //Đóng đối tượng dùng MyDataReader.Close(); MyConnection.Close(); } catch (OdbcException MyOdbcException) {//Catch tất lỗi exception for (int i=0; i < MyOdbcException.Errors.Count; i++) { Console.Write("ERROR #" + i + "\n" + "Message: " + MyOdbcException.Errors[i].Message + "\n" + "Native: " + MyOdbcException.Errors[i].NativeError.ToString() + "\n" + "Source: " + MyOdbcException.Errors[i].Source + "\n" + "SQL: " + MyOdbcException.Errors[i].SQLState + "\n"); } } } Một số lưu ý lập trình dùng ODBC Net: Cài đặt MySQL Server máy lưu ý tên (địa chỉ) máy Nhớ cấu hình cho MySQL Server sử dụng protocol TCP/IP để giao tiếp với máy client Download "MySQL ODBC 3.51 Driver" cài đặt máy client (máy chạy ứng dụng bạn viết) Bạn download "MySQL ODBC 3.51 Driver" địa http://dev.mysql.com/downloads/connector/odbc/3.51.html Nếu lập trình dùng DSN connection string để nối kết với MySQL Server, bạn phải tạo trước DSN kết hợp với database cần truy xuất Bạn chạy Control Panel.Administrative Tools.Data Source (ODBC) để tạo DSN kết hợp với database cần truy xuất Nếu lập trình dùng DSN connection string đoạn lệnh mà bạn viết hồn tồn độc lập với cơng nghệ quản lý database, vị trí vật lý database Cụ thể hàm Testdb() mà chúng tơi viết hồn tồn độc lập với cơng nghệ quản lý database vị trí vật lý database, truy xuất database hệ quản trị database nào, bạn cần vào tool Data Source (ODBC) Windows hiệu chỉnh lại thông số liên quan đến database cần truy xuất đủ ... "OPTION=3"; */ //tạo connection tới database OdbcConnection MyConnection = new OdbcConnection(MyConString); MyConnection.Open(); //xóa table testdb c OdbcCommand MyCommand = new OdbcCommand("DROP TABLE... by MyODBC } //Đóng đối tượng dùng MyDataReader.Close(); MyConnection.Close(); } catch (OdbcException MyOdbcException) {//Catch tất lỗi exception for (int i=0; i < MyOdbcException.Errors.Count;... ODBC Net sau: OdbcConnection, OdbcCommand, OdbcDataReader using Console = System.Console; using System.Data.Odbc; private void Testdb() { try{ //Connection string dùng DSN MyODBC 3.51 string MyConString

Ngày đăng: 07/11/2019, 20:55

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan