C#连接操作 MySQL 数据库实例(使用官方驱动)

MySQL 以其免费和足够的性能受到很大的青睐,当然对于国内小公司,甚至是大公司如果对版权看得薄,敢冒险的话,随便装个 SqlServer、DB2、Oracle 都行。对于 SqlServer 数据库,因其与 MS 是一家,自然在 .net 类库中有内建支持,假如 MySQL 就得找第三方的驱动了 — .net 中多讲 Provider。在这里我也是作为一个预研专题,记录下 C# 连接 MySQL 的两种方法,分别使用 MySQL 官方的和 SourceForge 上一个开源的 MySQL 驱动。至于 ODBC 的办法,就不提了,觉得意义不大,同样要安装个 MySQL ODBC 驱动,而且 ODBC 又如此之笨拙。

使用 MySQL 官方区动连接操作 MySQL 数据库

下载驱动,可在

下载,当前版本是 6.3。你可以选择的平台既可以是 Microsoft Windows,也可以用 .Net & Mono 的,区别是 Microsoft Windows 的是一个MSI 文件,后者是非安装的压缩包。但是那个 MSI 文件在我的 64 位 XP 下安装不成功,所以用了后者。

这个 connector net 不光是个 MySQL 驱动,还提供了像 Entity Frameword、Asp.Net Web Providers、Compact Framework、VS 2008 集成的支持,还配置 CSharp 和 VB 的例子。详细的配置、使用文档请参考安装目录中的 MySql.Data.chm 文件。

现在从最简单的例子开始,驱动安装完,或压缩包解开后,甭里安装目录里的 mysql.data.cf.dll、mysql.data.entiry.dll、mysql.visualstudio.dll 和 mysql.web.dll,我们暂时在项目中引入 mysql.data.dll,用 using MySql.Data.MySqlClient; 引入命名空间。然后简单的代码如下:

代码如下:

//连接字符串

string connStr = “Server=localhost;Database=unmicc;Uid=unmicc;Pwd=xxxxxx;CharSet=utf8;”;

MySqlConnection con = new MySqlConnection(connStr);

con.Open();//打开连接

MySqlCommand cmd = new MySqlCommand(“select now()”,con);

object time = cmd.ExecuteScalar(); //或是 cmd.ExecuteReader();cmd.ExecuteNonQuery();

MessageBox.Show(time.ToString());

//或 Console.WriteLine(time.ToString());

con.Close();

上面的连接字符串应该好理解,另外还有更多的配置参数,例如端口号、连接池相关的配置等,具体请参考手册中的 Connection Options。其他的操作就是标准的 ADO.NET 的了,再就是可以处理各步骤的异常,catch MySql.Data.MySqlClient.MySqlException 这个类型的异常。其他的用于填充数据的 MySqlDataAdapter 和  MySqlDataReader 也是备好了的。

我想,在做正式的应用时,为防止 SQL 注入时关于参数化查询肯定会被提出来的,那就来看看这个 MySQL 官方驱动如何处理参数化查询的。它所用的方式和 SqlServer Provider 是一样的,用 @author 这样的形式来标识参数,并且同样支持 AddWithValue(string name, object value) 的方式。请看代码:

代码如下:

string sql = “update wp_posts set [email protected] and [email protected] where [email protected]”;

//可以用 ? 号的形式,如,但 ? 号的形式不推荐使用

//string sql = “update wp_posts set post_author=?author and post_status=?status where id=?id”;

MySqlCommand cmd = con.CreateCommand();

cmd.CommandText = sql;

cmd.Parameters.AddWithValue(“@author”, 1);

//cmd.Parameters.AddWithValue(“?author”, 1);

cmd.Parameters.AddWithValue(“@status”, “publish”);

//cmd.Parameters.AddWithValue(“?status”, “publish”);

cmd.Parameters.AddWithValue(“@id”, 23);

//cmd.Parameters.AddWithValue(“?id”,23);

cmd.ExecuteNonQuery();

注意到,同时还能用 ?author 的形式来标识参数,不过现在不推荐这么用了,也许是为了统一成 @author 的格式吧。不知道什么时候能像 JDBC 一样,直接用 ? 来作为占位符。

对于 InnoDB 存储引擎的 MySQL 是支持事物的,这个官方的的驱动支持事物的代码如下:

MySqlTransaction trans = con.BeginTransaction(); //启用事物

trans.Commit(); //正常时提交

trans.Rollback(); //异常时回滚

下一篇将介绍如何使用 SourceForge 上的开源 MySQL .Net 驱动怎么去操作 MySQL 数据库的。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#连接操作 MySQL 数据库实例(使用官方驱动)

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23135.html

相关内容

说说C#的async和await的具体用法

C# 中string.split用法详解

90分钟实现一门编程语言(极简解释器教程)

C#读写config配置文件的方法


C#运算符重载用法实例分析

C#中调用SAPI实现语音合成的2种方法

C#接口(Interface)用法分析

C#中winform控制textbox输入只能为数字的方法

时间: 2024-11-25 16:39:19

C#连接操作 MySQL 数据库实例(使用官方驱动)的相关文章

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

mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql-python.sourceforge.net/有下载和文档. 由于python的数据库模块有专门的数据库模块的规范,所以,其实不管使用哪种数据库的方法都大同小异的,这里就给出一段示范的代码: #-*- encoding: gb2312 -*- import os, sys, string impo

python 之操作mysql 数据库实例

对于python操作mysql 数据库,具体的步骤应为: 1. 连接上mysql host 端口号 数据库 账号 密码2. 建立游标3. 执行sql(注意,如果是update,insert,delete 需要进行提交才能生效.)4. 获取结果5. 关闭连接.关闭游标 一.默认获取的结果是元祖 1 conn = pymysql.connect(host='localhost',user='root',passwd='123456',port=3306,db='sakila',charset='ut

shell脚本连接、读写、操作mysql数据库实例

本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为xml或html文件, 并分析了核心语句.本文介绍的方法适用于PostgreSQL ,相对mysql而言,shell 中读写PostgreSQL会更简单些. 1. 连接mysql 数据库 shell中连接数据库的方法很简单,只需要指定用户名,密码,连接的数据库名称,然后通过重定向,输入mysql的语

Python操作MySQL数据库实例

在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1.2.3.win32-py2.7.exe MySQL-python-1.2.3.win-amd64-py2.7.exe 免费下载地址:http://yunpan.cn/cVnTc9iRsQR4m 访问密码 06fc 安装过程很简单不多说: 实例 1.取得 MYSQL 的版本 # -*- coding:

C#连接操作MySQL数据库 帮助类

最近准备写一个仓库管理的项目 客户要求使用C#编写MySQL存储数据 为了方便,整理了数据库操作的工具类 using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using MySql.Data.MySqlClient; /// <summary> /// @author: 房上的猫

python 连接操作mysql数据库

开发数据库程序流程: 1.创建connection对象,获取cursor 2.使用cursor执行SQL 3.使用cursor获取数据.判断执行状态 4.提交事务 或者 回滚事务 import: 数据库连接对象:connection 数据库交互对象:cursor #sql查询语句 sql='select * from user ' #sql语句执行 cursor.execute(sql) #获取返回数据总条数 rs=cursor.rowcount print rs #获取返回的第一条数据,此时游

实例讲解如何使用C++操作MySQL数据库类

用C++操作MySQL数据库类: 注释:这几个类对处理不是很大数据量的操作是很理想的, 但不适宜特大型的数据的查询,因为源码中将查询到的数据直接放入了内存. /* *  project: *           通用模块 ( 用 c++ 处理  mysql 数据库类,像ADO ) *                  *  description: * *           通过DataBase,RecordSet,Record,Field类,实现对mysql数据库的操作 *    包括连接.

c语言操作mysql数据库

c语言操作Mysql数据库,主要就是为了实现对数据库的增.删.改.查等操作,操作之前,得先连接数据库啊,而连接数据库主要有两种方法.一.使用mysql本身提供的API,在mysql的安装目录中可可以看到大量的头文件.lib文件.dll文件,这说明mysql原生就支持了c语言,操作起来相当简单.二.使用win32 api(这里只探讨windows平台),主要是ODBC. ODBC API 接口是(Open Database Connectivity)开放式数据库接口,它建立了一组规范,并提供了一组

python操作mysql数据库(一)

最近又开始重新学习python,研究了一些python操作mysql数据库的知识,记录在此,用作学习笔记, 基础环境:Python 3.5.1 mysql版本:5.6.35 (rpm安装方式) 操作系统:Centos7.3 和windows7 一.python连接数据库模块介绍: 目前主要用的有以下几种.MySQLdb和pymsql以及mysql官方提供的mysql-connector-python驱动,MySQLdb模块是python2.X使用比较多的,而python3.X使用的pymsql会