网上的帖子一大堆,看的头疼,然而还是解决不了问题
这里首先要实现功能,有一个前提,vs的版本,mysql.data.dll的版本,mysql的版本必须一致才可以
我mysql版本用的5.5.62,mysql.data.dll版本是5.1.0.0,vs版本是2012,
首先遇到的问题是
1.云服务器数据库不能外连
这个问题在云服务器控制台可以解决,
点击云服务器BBC,安全组
创建实例,添加规则,直接点击mysql即可,名字随意起。
然后在mysql上创建一个低权限的用户,详见我的博客 。然后就可以在本地连接了。
扫描二维码关注公众号,回复:
4971173 查看本文章
vs添加mysql.data.dll
在项目名上右键添加引用
点击浏览,找到你的mysql.data.dll,选中即可。
下载
mysql.data5.1.0.0
连接代码
使用c#连接mysql时,除了引用mysql.data还需要代码头上加上using MySql.Data.MySqlClient;
代码
private void button1_Click(object sender, EventArgs e)
{
String connStr = "server=106.12.158.67;user=root;password=root; database=test;";
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
MessageBox.Show("打开数据库连接成功");
conn.Close();
MessageBox.Show("关闭数据库连接成功");
}
private void button2_Click(object sender, EventArgs e)
{
String connStr = "server=106.12.158.67;user=root;password=root; database=test;";
MySqlConnection conn = new MySqlConnection(connStr);
string sql = "select count(*) from customers;";
conn.Open();
MySqlCommand command = new MySqlCommand(sql, conn);
try
{
object num1=command.ExecuteScalar();
int num = Convert.ToInt32(num1);
string message = String.Format("共有学生{0}人", num);
MessageBox.Show(message, "查询结果", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Information);
conn.Close();
}
catch (MySqlException ex)
{
MessageBox.Show("Error connecting to the server: " + ex.Message);
}
}
private void button3_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
String connStr = "server=106.12.158.67;user=root;password=root; database=test;";
MySqlConnection conn = new MySqlConnection(connStr);
string sql = "select firstname from customers;";
MySqlCommand command = new MySqlCommand(sql, conn);
conn.Open();
MySqlDataReader dateReader = command.ExecuteReader();
while (dateReader.Read())
{
string firstname = dateReader["firstname"].ToString();
listBox1.Items.Add(firstname);
}
dateReader.Close();
}
效果