本文转自:http://hi.baidu.com/zhqngweng/item/c4d2520cb7216877bfe97edf

第三方组件:Mysql.Data.dll
说明:去官方网站下载Mysql.Data.dll,然后在项目中添加该组件的引用,在代码页里输入using Mysql.Data.MysqlClient,我们就可以顺利的使用该类库的函数建立连接了。

以下是几个常用函数:

#region  建立MySql数据库连接
    /// <summary>
    /// 建立数据库连接.
    /// </summary>
    /// <returns>返回MySqlConnection对象</returns>
    public MySqlConnection getmysqlcon()
    {
        string M_str_sqlcon = "server=localhost;user id=root;password=root;database=abc"; //根据自己的设置
        MySqlConnection myCon = new MySqlConnection(M_str_sqlcon);
        return myCon;
    }
    #endregion

#region  执行MySqlCommand命令
    /// <summary>
    /// 执行MySqlCommand
    /// </summary>
    /// <param name="M_str_sqlstr">SQL语句</param>
    public void getmysqlcom(string M_str_sqlstr)
    {
        MySqlConnection mysqlcon = this.getmysqlcon();
        mysqlcon.Open();
        MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr, mysqlcon);
        mysqlcom.ExecuteNonQuery();
        mysqlcom.Dispose();
        mysqlcon.Close();
        mysqlcon.Dispose();
    }
    #endregion

#region  创建MySqlDataReader对象
    /// <summary>
    /// 创建一个MySqlDataReader对象
    /// </summary>
    /// <param name="M_str_sqlstr">SQL语句</param>
    /// <returns>返回MySqlDataReader对象</returns>
    public MySqlDataReader getmysqlread(string M_str_sqlstr)
    {
        MySqlConnection mysqlcon = this.getmysqlcon();
        MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr, mysqlcon);
        mysqlcon.Open();
        MySqlDataReader mysqlread = mysqlcom.ExecuteReader(CommandBehavior.CloseConnection);
        return mysqlread;
    }
    #endregion

另一篇:

测试环境:Windows XP + MySql 5.0.24 + Visual C# 2008 Exdivss Edition
By lucas 2008.12.29
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();
}
/
/
           MyConnection.Close();
        }
    }
}

使用示例:

using System;
using System.Configuration;
using MySql.Data.MySqlClient;
/// <summary>
/// TestDatebase 的摘要说明
/// </summary>
public class TestDatebase
{
    public TestDatebase()
    {
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }
    public static void Main(String[] args)
    {
        MySqlConnection mysql = getMySqlCon();
        //查询sql
        String sqlSearch = "select * from student";
        //插入sql
        String sqlInsert = "insert into student values (12,'张三',25,'大专')";
        //修改sql
        String sqlUpdate = "update student set name='李四' where id= 3";
        //删除sql
        String sqlDel = "delete from student where id = 12";
        //打印SQL语句
        Console.WriteLine(sqlDel);
        //四种语句对象
        //MySqlCommand mySqlCommand = getSqlCommand(sqlSearch, mysql);
        //MySqlCommand mySqlCommand = getSqlCommand(sqlInsert, mysql);
        //MySqlCommand mySqlCommand = getSqlCommand(sqlUpdate, mysql);
        MySqlCommand mySqlCommand = getSqlCommand(sqlDel, mysql);
        mysql.Open();
        //getResultset(mySqlCommand);
        //getInsert(mySqlCommand);
        //getUpdate(mySqlCommand);
        getDel(mySqlCommand);
        //记得关闭
        mysql.Close();
       String readLine = Console.ReadLine();
    }
    /// <summary>
    /// 建立mysql数据库链接
    /// </summary>
    /// <returns></returns>
    public static MySqlConnection getMySqlCon()
    {
        String mysqlStr = "Database=test;Data Source=127.0.0.1;User Id=root;Password=root;pooling=false;CharSet=utf8;port=3306";
        // String mySqlCon = ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString;
        MySqlConnection mysql = new MySqlConnection(mysqlStr);
        return mysql;
    }
    /// <summary>
    /// 建立执行命令语句对象
    /// </summary>
    /// <param name="sql"></param>
    /// <param name="mysql"></param>
    /// <returns></returns>
    public static MySqlCommand getSqlCommand(String sql,MySqlConnection mysql)
    {
        MySqlCommand mySqlCommand = new MySqlCommand(sql, mysql);
        //  MySqlCommand mySqlCommand = new MySqlCommand(sql);
        // mySqlCommand.Connection = mysql;
        return mySqlCommand;
    }
    /// <summary>
    /// 查询并获得结果集并遍历
    /// </summary>
    /// <param name="mySqlCommand"></param>
    public static void getResultset(MySqlCommand mySqlCommand)
    {
        MySqlDataReader reader = mySqlCommand.ExecuteReader();
        try
        {
            while (reader.Read())
            {
                if (reader.HasRows)
                {
                    Console.WriteLine("编号:" + reader.GetInt32(0) + "|姓名:" + reader.GetString(1) + "|年龄:" + reader.GetInt32(2) + "|学历:" + reader.GetString(3));
                }
            }
        }
        catch (Exception)
        {

Console.WriteLine("查询失败了!");
        }
        finally
        {
            reader.Close();
        }
    }
    /// <summary>
    /// 添加数据
    /// </summary>
    /// <param name="mySqlCommand"></param>
    public static void getInsert(MySqlCommand mySqlCommand)
    {
        try
        {
            mySqlCommand.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            String message = ex.Message;
            Console.WriteLine("插入数据失败了!" + message);
        }
      
    }
    /// <summary>
    /// 修改数据
    /// </summary>
    /// <param name="mySqlCommand"></param>
    public static void getUpdate(MySqlCommand mySqlCommand)
    {
        try
        {
            mySqlCommand.ExecuteNonQuery();
        }
        catch (Exception ex)
        {

String message = ex.Message;
            Console.WriteLine("修改数据失败了!" + message);
        }
    }
    /// <summary>
    /// 删除数据
    /// </summary>
    /// <param name="mySqlCommand"></param>
    public static void getDel(MySqlCommand mySqlCommand)
    {
        try
        {
            mySqlCommand.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            String message = ex.Message;
            Console.WriteLine("删除数据失败了!" + message);
        }
    }
}

转载于:https://www.cnblogs.com/xishuqingchun/p/5010423.html

[转]C#连接操作mysql实例相关推荐

  1. Java操作Mysql实例

    Java操作Mysql实例 来自:http://junehuang111.blog.163.com/blog/static/627072201191933118658/ 2011-10-19 15:3 ...

  2. unknown mysql server host解决_Linux系统连接RDS MySQL实例提示“Unknown MySQL server host”错误的解决方法...

    问题描述 使用Linux系统的ECS实例连接RDS MySQL实例时提示如下错误. Unknown MySQL server host 问题原因 由于开启iptables导致域名解析的数据包被丢弃,查 ...

  3. c 连接mysql批量存储数据库_C语言连接操作MySQL数据库的方法

    C语言连接操作MySQL数据库的方法 2014-07-13 16:20来源:中国存储网 导读:C语言连接mysql数据库,需要相应的头文件和lib文件,如果你安装Mysql数据库,会在安装目录下找到这 ...

  4. vbscript 连接mysql_vbscript连接操作mysql

    vbscript连接操作mysql 给出一段非常简单的vbscript操作mysql的脚本代码,连接其它数据库类似: strConn="driver={mysql odbc 5.1 driv ...

  5. Python MySQLdb模块连接操作mysql数据库实例_python

    mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...

  6. php mysqldb 数据库切换,Python MySQLdb模块连接操作mysql数据库实例

    mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...

  7. Python操作Mysql实例代码教程在线版(查询手册)_python

    实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...

  8. java通过JDBC驱动连接操作hive实例

    Hive提供了jdbc驱动,使得我们可以用java代码来连接Hive并进行一些类关系型数据库的sql语句查询等操作.首先,我们必须将Hive的服务,也就是HiveServe打开.在Hive 0.11. ...

  9. Python操作Mysql实例代码教程(查询手册)

    2019独角兽企业重金招聘Python工程师标准>>> 本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执 ...

最新文章

  1. 短篇连载(3),在校园里做比赛的那些日子,以及彻底告别钟爱的电子竞技事业...
  2. Codeforces Round #352 (Div. 2) A. Summer Camp 水题
  3. debug内exe文件复制到桌面无法打开_Qt打包生成exe步骤和无法定位程序输入点_gxx_personality_v0于动态链接库...
  4. BZOJ1061: [Noi2008]志愿者招募
  5. ArcGIS案例学习笔记2_2_等高线生成DEM和三维景观动画
  6. RTT的IPC机制篇——邮箱
  7. C#之获取网卡IP地址
  8. 《深度学习Python实践》第22章——文本分类实例
  9. 【集群仿真】基于matlab匈牙利算法无人机队形重构集群仿真【含Matlab源码 1498期】
  10. 关于pointnet++系列编译文件(tf_ops)的问题
  11. [UPF]低功耗仿真介绍
  12. WWW15年:改变世界的15个网站
  13. 计算机所有以太网适配的ip,以太网没有有效的ip配置怎么办
  14. Ubuntu14.04 Firefox无法播放视频
  15. 高速窄脉冲峰值保持设计
  16. 手机怎么模拟125k卡_NFC手机能模拟门禁卡吗?
  17. 禁止多人使用同一账号在系统上进行操作[踢人操作]
  18. 【转】在WPF显示动态GIF图片
  19. Editor.md安装使用(markdown)
  20. 喜闻乐见的 2048 游戏 (附源码)

热门文章

  1. spring的各种注解的作用-持续更新中
  2. ubuntu下面使用stata进行线性回归
  3. awk收不到数据的问题
  4. Yarn的默认端口(转载)
  5. GStreamer(一)
  6. assm的结构_Oracle ASSM三级位图块结构
  7. Sublime Text 3 插件安装
  8. 浅谈PopupWindow弹出菜单
  9. 不要逼孩子考100分
  10. “SHOT NOTE”新文具,构建虚实之桥