C#使用ODBCl连接MySql详细教程
2016-01-14 17:11
941 查看
首先你需要一个VS和mysql,这个不多说。
然后下载一个mysql的连接插件:
http://dev.mysql.com/downloads/connector/
我们选择ODBC。
因此,http://dev.mysql.com/downloads/connector/odbc/
选择适合你的版本下载吧。点击安装就可以了。
然后在VS中新建C#项目,在项目的引用中,右键打开引用管理器:
在引用管理器中添加:
示例代码:
然后下载一个mysql的连接插件:
http://dev.mysql.com/downloads/connector/
我们选择ODBC。
因此,http://dev.mysql.com/downloads/connector/odbc/
选择适合你的版本下载吧。点击安装就可以了。
然后在VS中新建C#项目,在项目的引用中,右键打开引用管理器:
在引用管理器中添加:
示例代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MySql.Data; using MySql.Data.MySqlClient; namespace MySQLTest { class Test { private MySqlConnection mysqlcon; Test() { const string constr = "server=localhost;User Id=waponx;password=learning;Database=Education"; mysqlcon = new MySqlConnection(constr); // 打开mysql连接,在使用之前必须要打开,否则会抛出异常 // 在不使用mysql的时候记得关闭 mysqlcon.Open(); // 生成一个mysql语句,第一个参数为你的语句,第二个参数为mysql连接 // 第二个参数可省,默认值为null MySqlCommand mysqlcmd_NonQuery = new MySqlCommand("insert into myaccount(name, password, identity) values(\'haha\', \'123\', \'Student\')", mysqlcon); // 执行语句 mysqlcmd_NonQuery.ExecuteNonQuery(); MySqlCommand mysqlcmd_Query = new MySqlCommand("select * from myaccount", mysqlcon); // 如果执行mysql语句会返回信息,就可以通过MySqlDataReader类型来读取这些信息。 // 比如select语句 // ExecuteReader函数返回一个MySqlDataReader对象 MySqlDataReader dataReader = mysqlcmd_Query.ExecuteReader(); // FieldCount属性,查询结果的字段数 int count = dataReader.FieldCount; // 读取这个结果集合 // 想要访问查询结果,先要执行Read函数 dataReader.Read(); string[] title = new string[count]; for (int i = 0; i < count; ++i) { // 获取第i列的标题,通过i指定第几列 title[i] = dataReader.GetName(i); } // Read函数每次从执行的结果中读取一行 // 有数据可以读就返回true while (dataReader.Read()) { for (int i = 0; i < dataReader.FieldCount; ++i) { // IsDBNull函数可以判断读取到的数据的第i列为不为空 // 如果为空就返回true if (!dataReader.IsDBNull(i)) { Console.WriteLine("查询结果的当前当的第{0}列不为空", i); // GetString函数可以以字符串的形式返回读取到的这一行的第i列的数据 // 类似的还有 // dataReader.GetChar(i); /// dataReader.GetInt32(i);等等 Console.WriteLine("查询结果的当前当的第{0}列的内容为:", i, dataReader.GetString(i)); } else { Console.WriteLine("查询结果的当前当的第{0}列为空", i); } } } // IsClosed可以用来判断MySqlDataReader是否已经被关闭了 // 如果没有关闭要记得关闭,否则不能对这个mysql连接再执行ExecuteReader if (!dataReader.IsClosed) { // 如果在没有关闭这个MySqlDataReader情况下使用了ExecuteReader和Read,就会抛出异常 dataReader.Close(); } // 关闭mysql连接 CloseMySqlConnect(); } public void CloseMySqlConnect() { // 关闭mysql mysqlcon.Close(); } } }
相关文章推荐
- MySql学习笔记
- mysql 主从
- MySQL并发复制系列二:多线程复制
- MySQL并发复制系列一:binlog组提交
- mysql 源码安装
- MySQL与NoSQL——SQL与NoSQL的融合
- mysql事务知识分享
- mysqlmap-config.xml
- Mysql 关键字-保留字
- Host 'xx.xx.xxx.xxx' is not allowed to connect to this MySQL server
- mysql把一张表里的数据插入到另一张表里
- 设置mysql日志输出路径的方法
- mysql-jdbc
- win7 mysql 集群搭建,自测ok
- 解决MySQL主从复制不一致的情况
- 通过Mysql-bin日志恢复还原数据
- mysql绿色版添加服务
- mysql概要(三)having
- MySQL报错汇总
- mySQL表和列的注释相关操作