首先你需要一个VS和mysql,这个不多说。
然后下载一个mysql的连接插件:
我们选择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();
}
}
}