第三方组件: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);
       }
   }
}

C#连接操作mysql实例的更多相关文章

  1. [转]C#连接操作mysql实例

    本文转自:http://hi.baidu.com/zhqngweng/item/c4d2520cb7216877bfe97edf 第三方组件:Mysql.Data.dll说明:去官方网站下载Mysql ...

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

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

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

    本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐   实 ...

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

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

  5. nodejs使用sequelize操作mysql实例

    sequelize是node操作mysql的一款npm包,包含很多特性:数据库模型映射.事务处理.模型属性校验.关联映射等,花了两天时间学习了下基本的一些操作,特别是关联映射部分的操作,包含1:1.1 ...

  6. (8)Python连接操作MySQL

    pymysql模块下的方法 '''必须实例化对象才能建立连接''' 1.pymysql.connect  #和MySQL建立连接 '''得由对象去调用定义游标''' 2.xxx.sursor()  # ...

  7. 树莓派开发笔记(十七):树莓派4B+上Qt多用户连接操作Mysql数据库同步(单条数据悲观锁)

    前言   安装了mysq数据库,最终时为了实现在一个树莓派上实现多用户多进程操作的同步问题,避免数据并发出现一些错误,本篇安装了远程服务并且讲述了使用Qt进行悲观锁for update操作,命令行进行 ...

  8. Redis教程(十五):C语言连接操作代码实例

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/143.html 在之前的博客中已经非常详细的介绍了Redis的各种操作命令 ...

  9. C# 连接操作MYSQL 数据库_02

    using MySql.Data.MySqlclient; // 引进MYSQL 库 // C# 连接 MYSQL 数据库更好的方法 void func_02() { string str_conn_ ...

随机推荐

  1. cookie 保存导航菜单的展开状态

    菜单展开状态保存,最开始是用session来存的,用session存没点击一次菜单就会多次访问后台页面,影响页面加载速度,后来改用js的cookie来存:代码如下 //获取cookie         ...

  2. iis express 局域网访问

    查找到配置文件添加一条绑定局域网可访问的IP地址即可: 事例: <site name="Join.Lims.Mob(11)" id="19"> &l ...

  3. UGUI与DOtween的坑

    在使用ugui和dotween做动画时,如使用transform.DoMoveX,.DoLocalMoveX,.DoMove,.DoLocalMove等方法时,动画效果有可能是错误的,什么时候错误呢? ...

  4. Best Coder Round#25 1001 依赖检测

    原题大致上就是检测一系列进程之间是否存在循环依赖的问题,形如: a->b->c->a,  a->a ,都行成了循环依赖,事实上可以视为“检测链表中是否存在环” AC代码: #i ...

  5. 了解JavaWeb,一篇就够

    把HTML.CSS.JSP.JS.JavaScript,JQuery,STRUTS,String,MVC,DOM 柔和起来,贯穿成一篇完整的内容,让读者明白JavaWeb的前前后后. 从Servlet ...

  6. centos单用户模式修改ROOT密码

    首先启动的时候的时候,需要进入单用户模式(进入单用户模式的前提是系统引导器能正常工作),单用户模式是不需要输入密码,并且(进入单用户模式,没有开启网络服务,不支持远程连接 )网上说可以通过GRUB ( ...

  7. npm(cnpm)介绍

    1.npm(node package manager) nodejs的包管理器,用于node插件管理(安装.卸载.更新.管理依赖等); 2.使用npm安装安装插件: 1).命令提示符执行 npm in ...

  8. 实时控制软件设计 第二次作业 myRobot

    #include<iostream> #include <Eigen/Dense> #include <math.h> #include <vector> ...

  9. C#知识体系(二)用案例来理解委托与事件

    上一篇博客讲到了LinQ和lambda的常用方法 还有很多我们未知但c#设计团队已经为我们封装好的类和方法.随着我们不断的熟悉C#语言,渐渐的就会接触到其他的知识点,委托.事件.反射.线程.同步,异步 ...

  10. Linux学习之路—磁盘分区

    1.各硬件设备在Linux中的文件名 在Linux系统中,每个设备都被当做一个文件来对待,同时在Linux系统中,几乎所有的硬件设备文件都在/dev这个目录中. 设备 设备在Linux内的文件名 ID ...