HACKIS - Hacking Internet Security
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Search
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» Tuyệt Kỹ Đong Giai Chân Kinh (tuyệt Kỹ cua trai)
Kết nối CSDL MySQL từ chương trình VC# EmptyThu Aug 23, 2012 5:38 am by Admin

» Tuyệt kỹ cua giai
Kết nối CSDL MySQL từ chương trình VC# EmptyThu Aug 23, 2012 5:36 am by Admin

» NETCAT.........
Kết nối CSDL MySQL từ chương trình VC# EmptyMon Aug 13, 2012 6:35 am by Admin

» Bảo mật CSDL bằng phương pháp mã hóa.
Kết nối CSDL MySQL từ chương trình VC# EmptyTue Apr 17, 2012 10:04 pm by Admin

» Hàm mã hóa MD5 bằng JavaScript
Kết nối CSDL MySQL từ chương trình VC# EmptyTue Apr 17, 2012 10:03 pm by Admin

» Giá của món quà
Kết nối CSDL MySQL từ chương trình VC# EmptyFri Apr 13, 2012 6:01 am by Admin

» Sẽ chỉ yêu ai?
Kết nối CSDL MySQL từ chương trình VC# EmptyFri Apr 13, 2012 6:01 am by Admin

» Cách đọc bảng chữ cái!
Kết nối CSDL MySQL từ chương trình VC# EmptyThu Apr 12, 2012 10:37 pm by Admin

» Gắn trojan, keylog, virus vào website, forum
Kết nối CSDL MySQL từ chương trình VC# EmptyTue Apr 10, 2012 1:14 am by Admin

Affiliates
free forum


Kết nối CSDL MySQL từ chương trình VC#

Go down

Kết nối CSDL MySQL từ chương trình VC# Empty Kết nối CSDL MySQL từ chương trình VC#

Post  Admin Wed Apr 06, 2011 10:32 am

Bạn có thể lập trình VC# (hay VJ#, VB .Net) truy xuất database MySQL bằng cách dùng 1 trong 4 giao tiếp lập trình sau:

1. ODBC .Net: đây là giao tiếp chuẩn hóa nên có tính tổng quát hóa cao nhất, bạn truy xuất database của MySQL và của các hệ quản trị CSDL khác thông qua các đối tượng chuẩn của Microsoft (trong namespace System.Data.Odbc).

2. MySQL Provider đặc dụng, thí dụ như MySQLDirect, phương pháp này cũng giống như phương pháp 1, chỉ có điều là bạn phải cài và sử dụng các đối tượng đặc dụng của 1 hãng khác chứ không dùng các đối tượng ODBC chuẩn của Microsoft.

3. OLEDB .Net, phương pháp này rất giống như phương pháp 1, chỉ khác là thay vì dùng các đối tượng ODBC .Net, bạn sẽ dùng các đối tượng OLEDB .Net. Mặc dù các đối tượng OLEDB .Net cũng do Microsoft cung cấp, nhưng Microsoft khuyến cáo họ sẽ không hỗ trợ các đối tượng OLEDB .Net nữa.

4. Thư viện lập trình API đặc dụng bằng C , thí dụ như thư viện mysqlclient. Đây là phương pháp có tính tổng quát hóa thấp nhất, vì đoạn lệnh truy xuất database trong ứng dụng chứa rất nhiều lệnh gọi hàm API của thư viện đặc dụng.

Tóm lại trong 4 phương pháp trên, chỉ có phương pháp 1 là tổng quát nhất, do đó bạn nên lập trình dùng phương pháp này để truy xuất database MySQL. Thí dụ hàm Testdb() sau đây cho phép tạo 1 table mới trên database 'test' do MySQL server chạy trên máy 'Jdesktop' quản lý, hàm này dùng các đối tượng ODBC .Net sau: OdbcConnection, OdbcCommand, OdbcDataReader.

Code:

using Console = System.Console;
using System.Data.Odbc;
private void Testdb() {
try{
//Connection string dùng DSN và 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=hiepdesktop;"
"DATABASE=test;"
"UID=root;"
"PASSWORD=lachan;"
"OPTION=3";
*/
//tạo connection tới database
OdbcConnection MyConnection = new OdbcConnection(MyConString);
MyConnection.Open();
//xóa table testdb nếu đã có rồi
OdbcCommand MyCommand = new OdbcCommand("DROP TABLE IF EXISTS testdb",MyConnection);
MyCommand.ExecuteNonQuery();
//Tạo lại table testdb có 3 field
MyCommand.CommandText = "CREATE TABLE testdb(hoten varchar(40),namsinh int, diachi varchar(50))";
MyCommand.ExecuteNonQuery();
//Thử thêm 1 record dữ liệu
MyCommand.CommandText = "INSERT INTO testdb VALUES(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Nguyen Van Hiep\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',1957,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'8A Lu Gia, P15,Q11\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')";
MyCommand.ExecuteNonQuery();
//Thử thêm 1 record dữ liệu nữa
MyCommand.CommandText = "INSERT INTO testdb VALUES(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Nguyen Lac Han\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',1994,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'245/4 Ly Thuong Kiet, P15,Q11\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')";
MyCommand.ExecuteNonQuery();
//Thử thêm 1 record dữ liệu nữa
MyCommand.CommandText = "INSERT INTO testdb VALUES(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Nguyen Luong Hoa\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',2002,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'245/4 Ly Thuong Kiet, P15,Q11\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')";
MyCommand.ExecuteNonQuery();
//Thử thêm 1 record dữ liệu nữa
MyCommand.CommandText = "INSERT INTO testdb VALUES(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Huynh Thoai Loan\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',1965,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'245/4 Ly Thuong Kiet, P15,Q11\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')";
MyCommand.ExecuteNonQuery();
//Hiệu chỉnh thử 1 field của 1 số record thỏa điều kiện
MyCommand.CommandText = "UPDATE testdb SET namsinh=1960 WHERE namsinh=1957";
MyCommand.ExecuteNonQuery();
//Đếm số record hiện có
MyCommand.CommandText = "SELECT COUNT(*) as TRows FROM testdb";
Console.WriteLine("Total Rows: " MyCommand.ExecuteScalar());
//Duyệt đọc và hiển thị các record trong 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 các đối tượng đã dùng
MyDataReader.Close();
MyConnection.Close();
}
catch (OdbcException MyOdbcException) {//Catch tất cả 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 ý khi lập trình dùng ODBC .Net:

1. Cài đặt MySQL Server trên máy nào đó và lưu ý tên (địa chỉ) của máy đó. Nhớ cấu hình cho MySQL Server sử dụng ít nhất protocol TCP/IP để giao tiếp với các máy client.

2. Download "MySQL ODBC 3.51 Driver" và cài đặt nó trên máy client (máy sẽ chạy ứng dụng do bạn viết). Bạn có thể download "MySQL ODBC 3.51 Driver" ở địa chỉ http://dev.mysql.com/downloads/connector/odbc/3.51.html.

3. Nếu lập trình dùng DSN trong 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 hãy chạy Control Panel.Administrative Tools.Data Source (ODBC) để tạo DSN kết hợp với database cần truy xuất.

4. Nếu lập trình dùng DSN trong connection string thì đoạn lệnh mà bạn viết hoàn toà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 ở trên hoàn toàn độc lập với công nghệ quản lý database và vị trí vật lý của database, nó có thể truy xuất bất kỳ database nào của hệ quản trị database nào, bạn chỉ cần vào tool Data Source (ODBC) của Windows và hiệu chỉnh lại các thông số liên quan đến database cần truy xuất là đủ
Admin
Admin
Admin

Tổng số bài gửi : 782
Join date : 2009-08-15

https://hackis.forumvi.com

Back to top Go down

Kết nối CSDL MySQL từ chương trình VC# Empty Re: Kết nối CSDL MySQL từ chương trình VC#

Post  Admin Thu Apr 21, 2011 7:08 pm

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
using MySql.Data;
using System.Windows.Forms;
using System.Data;

namespace BCTN.DAL
{
    class KetnoiCSDL
    {
        //Ham Ket Noi Database
        public MySqlConnection TaoKetNoi()
        {
            string sql = "Server=localhost;Database=qlbcthuocnam;User ID=root;Password= ;Pooling=false;Character Set=utf8";
            return new MySqlConnection(sql);
        }

        //Ham Tra Ve DataTable Dua Vao Cau Truy Van
        public DataTable GetTable(string sql)
        {
            MySqlConnection con = TaoKetNoi();
            MySqlDataAdapter ad = new MySqlDataAdapter(sql, con);
            DataTable dt = new DataTable();
            ad.Fill(dt);
            return dt;
        }

        //Ham Thuc Hien Cau Lenh ExecuteNonQuery
        public void ExcuteNonQuery(string sql)
        {
            try
            {
                MySqlConnection con = TaoKetNoi();
                MySqlCommand cmd = new MySqlCommand(sql, con);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
                con.Dispose();
            }
            catch
            {
                MessageBox.Show("Không cập nhật được bảng dữ liệu...", "THÔNG TIN", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }

        public string strExecuteScalar(string sql)
        {
            MySqlConnection con = TaoKetNoi();
            MySqlCommand cmd = new MySqlCommand(sql, con);
            con.Open();
            string kq = cmd.ExecuteScalar().ToString();
            con.Close();
            con.Dispose();
            return kq;
        }

        public int iExecuteScalar(string sql)
        {
            MySqlConnection con = TaoKetNoi();
            MySqlCommand cmd = new MySqlCommand(sql, con);
            con.Open();
            int kq = int.Parse(cmd.ExecuteScalar().ToString());
            con.Close();
            con.Dispose();
            return kq;
        }

        public float fExecuteScalar(string sql)
        {
            MySqlConnection con = TaoKetNoi();
            MySqlCommand cmd = new MySqlCommand(sql, con);
            con.Open();
            float kq = float.Parse(cmd.ExecuteScalar().ToString());
            con.Close();
            con.Dispose();
            return kq;
        }

        public MySqlDataReader ExecuteReader(string sql)
        {
            MySqlConnection con = TaoKetNoi();
            MySqlCommand cmd = new MySqlCommand(sql, con);
            con.Open();
            MySqlDataReader r = cmd.ExecuteReader();
            con.Close();
            con.Dispose();
            return r;
        }
    }
}
Admin
Admin
Admin

Tổng số bài gửi : 782
Join date : 2009-08-15

https://hackis.forumvi.com

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum