C#连接云服务器MySql数据库

环境
vs2017

第一步 在主窗口代码区新建一个类 用于连接数据库

在开发过程中其他窗口 常常也需要 对数据库进行操作 如果在每一个窗口的代码区域都连接一次数据库的话 就会很麻烦 所以在主窗口先用一个公共类连接了数据库 其他窗口就可以直接调用了

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace text1_connectMysql
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
    public static class MySqlConn
    {
        public static string connectStatus = "unload";			//用于标识数据库是否连接成功
        //charset=utf8 这句话用于解决 客户端发送中文数据到数据库的时候 中文数据变成问号的情况
        public static String connetStr = "server = 服务器的公网ip地址; port = 3306; User = 数据库的用户名; password = 数据库的密码; Database = 数据库名字; charset=utf8";				//(port)端口是3306 需要在服务器中打开这个端口 不然连接不了
        public static MySqlConnection conn = new MySqlConnection(connetStr);		//实例化一个连接变量
        public static void Load()
        {
            try
            {
                conn.Open();						//打开连接数据库
                connectStatus = "loaded";			//如果连接成功将loaded赋值给connectStatus
            }
            catch
            {

            }
        }
    }
}

第二步 下载安装 连接MySql数据库的驱动

写上上面的代码以后你会发现 会报错 这是因为 你还没有安装相应的驱动
可以在下面这个地址下载 6.10.9版本是19年出的 其他是20年出的 下载其中一个就好
链接:
https://pan.baidu.com/s/1Pr5JSmdJINRjZAkKWTZQ5g
提取码:0000
安装步骤如下
C#连接云服务器MySql数据库_第1张图片
安装以后就会在相应的位置出现 连接mysql需要的驱动

第三步 在vs2017中添加引用

打开解决方案窗口 在引用的位置右击鼠标 添加引用
C#连接云服务器MySql数据库_第2张图片
在预览中找到刚刚安装生成的驱动的位置
C#连接云服务器MySql数据库_第3张图片
C#连接云服务器MySql数据库_第4张图片
将所有驱动都添加进去就好

第四步 添加相应的命名空间

在代码区的顶部添加下面的代码

using MySql.Data.MySqlClient;

发现已经不会再报错了

第五步 效果验证

操作过程如下
当点击button1 的时候 执行数据库的查询语句 并将查询结果 显示再label1上

第一步添加 button和label
C#连接云服务器MySql数据库_第5张图片
第二步 双击按钮 进入代码编辑窗口
在按钮的点击事件函数中加上下面的代码

        private void button1_Click(object sender, EventArgs e)
        {
            MySqlConn.Load();									//调用连接函数 连接到数据库
            if(MySqlConn.connectStatus == "loaded")				//如果连接成功执行下面的代码
            {
                string sql = string.Format("SELECT * FROM `表名` WHERE Name = '小何'");	//声明一个查询语句变量 表名和字段根据实际填写
                MySqlCommand cmd = new MySqlCommand(sql, MySqlConn.conn);					//实例化
                MySqlDataReader read = cmd.ExecuteReader();									//执行查询操作
                if (read.Read())														//如果读取成功 执行下面语句
                {
                    label1.Text = read[0].ToString();						//将读取到的那一行数据的 第一个字段 的值转化未string类型赋值给label1
                }

            }
            else
            {
                MessageBox.Show("连接未成功", "提示");
            }
        }

点击按钮1前
C#连接云服务器MySql数据库_第6张图片
点击按钮1后 可以看到 已经将数据读取到label上了
C#连接云服务器MySql数据库_第7张图片
到了这里证明 连接的全过程都完成了

第六 附上所有的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace text1_connectMysql
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MySqlConn.Load();
            if(MySqlConn.connectStatus == "loaded")
            {
                string sql = string.Format("SELECT * FROM `表名` WHERE Name= '小何'");
                MySqlCommand cmd = new MySqlCommand(sql, MySqlConn.conn);
                MySqlDataReader read = cmd.ExecuteReader();
                if (read.Read())
                {
                    label1.Text = read[0].ToString();
                }

            }
            else
            {
                MessageBox.Show("连接未成功", "提示");
            }
        }
    }
    public static class MySqlConn
    {
        public static string connectStatus = "unload";
        public static String connetStr = "server = IP地址; port = 3306; User = xiao_he; password = 123456; Database = xiao_he_db; charset=utf8";
        public static MySqlConnection conn = new MySqlConnection(connetStr);
        public static void Load()
        {
            try
            {
                conn.Open();
                connectStatus = "loaded";
            }
            catch
            {

            }
        }
    }
}

你可能感兴趣的:(mysql,c#,数据库,云服务器)