mysql使用的一些小记

最近项目里需要连接mysql以及使用里面的数据,于是乎,开始着手研究,然后把自己使用的过程经历记录下来,方便以后需要用时更快上手。

c#导入mysql

1.下载与安装mysql

这个步骤可以看网上教程完成,基本就是安装包点点点。

2.下载mysql.data.dll

mysql.data.dll是C#操作MYSQL的驱动文件,是c#连接mysql必要插件,使c#语言更简洁的操作mysql数据库。

使用NuGet包管理器下载,打开网站https://www.nuget.org/packages搜索mysql,复制代码进pm

MFC 连接MySQL数据库_mysql


下载完毕,导入命名空间即可使用

mysql连接

安装完mysql,我们有一个最基本的数据库,就是自带的root,我们使用这个数据库作为例子
建立连接数据库

string connectStr = "server=服务器的ip地址;user=用户名;password=用户密码;database=数据库名字";
//在本例子中
string connectStr = "server=localhost;user=root;password=(安装时设置的密码);database=world(这是我数据库的名字)";
MySqlConnection conn = new MySqlConnection(connectStr);

MFC 连接MySQL数据库_sql_02

这时候就建立起了连接

然后可以开始增删查改操作。

首先,在查之前应打开建立连接的通道,即:

if (conn.State == ConnectionState.Closed)
{
	conn.Open();//打开通道,建立连接,可能出现异常,使用try catch语句
}

然后然后输入我们需要的sql查询语句,创建实现语句的对象

// 创建用于实现MySQL语句的对象
string sql = "SELECT * FROM city";
MySqlCommand cmd = new MySqlCommand(sql, conn);

接下来执行查询语句并接收查询结果,这里有多种接收方式:

//(1)查找多行 : ExecuteReader()方法
MySqlDataReader mdr = cmd.ExecuteReader();
ArrayList results = new ArrayList(); 
while (mdr.Read())
{
	//把数据存储起来
	List<string> temp = new List<string>();
	for (int i = 0; i < 10; i++)
	{
		temp.Add(mdr[i].ToString());
	}
	results.Add(temp);
}

由于ExecuteReader是逐行读取,因此这里采用了一个较蠢的方法,用两个列表把数据存储起来,因为刚接触,想不到其他方法。

//(2)查找整个并用DataTable的方式存储起来
DataTable P_dt = new DataTable();
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
adapter.Fill(P_dt);

这种方式非常简单,并且以DataTable的数据存储了起来,方便后面把数据添加进DataGridView,所有这种方式使用率较高。(注意,填充进DataTable用console.write是得不到结果的,需foreach遍历才可以得到输出结果。)

增,删,改

增删改较为容易,实现语句的方法为ExecuteNonQuery()

string sql = "增删改的语句";
 // 打开连接(如果处于关闭状态才进行打开)
if (conn.State == ConnectionState.Closed)
{
	conn.Open();//打开通道,建立连接,可能出现异常,使用try catch语句
} 
MySqlCommand cmd = new MySqlCommand(sql, conn);
int result = cmd.ExecuteNonQuery();
if (result == 0)
	Console.WriteLine("false");
else
	Console.WriteLine("success");

暂时到这里,如有需要以后会继续补充。