六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 82|回复: 0

c#连接MySql数据库的两种方法

[复制链接]

升级  44%

4

主题

4

主题

4

主题

童生

Rank: 1

积分
22
 楼主| 发表于 2013-2-5 01:31:44 | 显示全部楼层 |阅读模式
1、用MySQLDriverCS连接MySQL数据库

先下载和安装MySQLDriverCS,地址:
http://sourceforge.net/projects/mysqldrivercs/

在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中

注:我下载的是版本是 MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.Odbc;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using MySQLDriverCS;

namespace mysql

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {
            MySQLConnection conn = null;

            conn = new MySQLConnection(new MySQLConnectionString("localhost", "inv", "root", "831025").AsString);

            conn.Open();

            MySQLCommand commn = new MySQLCommand("set names gb2312", conn);
            commn.ExecuteNonQuery();

            string sql = "select * from exchange ";

            MySQLDataAdapter mda = new MySQLDataAdapter(sql, conn);

            DataSet ds = new DataSet();

            mda.Fill(ds, "table1");

            this.dataGrid1.DataSource = ds.Tables["table1"];

            conn.Close();

        }   

    }

}

2、通过ODBC访问mysql数据库:


参考:http://www.microsoft.com/china/community/Column/63.mspx

1.      安装Microsoft ODBC.net:我安装的是mysql-connector-odbc-3.51.22-win32.msi

2.      安装MDAC 2.7或者更高版本:我安装的是mdac_typ.exe 2.7简体中文版

3.      安装MySQL的ODBC驱动程序:我安装的是 odbc_net.msi

4.      管理工具 -> 数据源ODBC –>配置DSN…

5.      解决方案管理中添加引用 Microsoft.Data.Odbc.dll(1.0.3300)

6.      代码中增加引用 using Microsoft.Data.Odbc;

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Linq;   //vs2005好像没有这个命名空间,在c#2008下测试自动生成的

using System.Text;

using System.Windows.Forms;

using Microsoft.Data.Odbc;


namespace mysql
{

    public partial class Form1 : Form
    {

        public Form1()
        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +

                                 "SERVER=localhost;" +

                                 "DATABASE=inv;" +

                                 "UID=root;" +

                                 "PASSWORD=831025;" +

                                 "OPTION=3";

            OdbcConnection MyConnection = new OdbcConnection(MyConString);

            MyConnection.Open();

            Console.WriteLine(""n success, connected successfully !"n");

            

            string query = "insert into test values( 'hello', 'lucas', 'liu')";

            OdbcCommand cmd = new OdbcCommand(query, MyConnection);         

            //处理异常:插入重复记录有异常

            try{

              cmd.ExecuteNonQuery();

            }

            catch(Exception ex){

                 Console.WriteLine("record duplicate.");

            }finally{

                 cmd.Dispose();
            }

            //***********************用read方法读数据到textbox**********************

            string tmp1 = null;

            string tmp2 = null;

            string tmp3 = null;

            query = "select * from test ";

            OdbcCommand cmd2 = new OdbcCommand(query, MyConnection);

            OdbcDataReader reader = cmd2.ExecuteReader();

            while (reader.Read())

            {

                tmp1 = reader[0].ToString();

                tmp2 = reader[1].ToString();

                tmp3 = reader[2].ToString();

            }

            this.textBox1.Text = tmp1 + " " + tmp2 + " " + tmp3;
            


            //************************用datagridview控件显示数据表**************************

            string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +

                                 "SERVER=localhost;" +

                                 "DATABASE=inv;" +

                                 "UID=root;" +

                                 "PASSWORD=831025;" +

                                 "OPTION=3";

          OdbcConnection MyConnection = new OdbcConnection(MyConString);

          OdbcDataAdapter oda = new OdbcDataAdapter("select * from customer ", MyConnection);

          DataSet ds = new DataSet();

          oda.Fill(ds, "employee");
          this.dataGridView1.DataSource = ds.Tables["employee"];
          MyConnection.Close();

        }
    }

}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表