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
安装步骤如下
在这里插入图片描述
安装以后就会在相应的位置出现 连接mysql需要的驱动

第三步 在vs2017中添加引用

打开解决方案窗口 在引用的位置右击鼠标 添加引用
在这里插入图片描述
在预览中找到刚刚安装生成的驱动的位置
在这里插入图片描述
在这里插入图片描述
将所有驱动都添加进去就好

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

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

using MySql.Data.MySqlClient;

发现已经不会再报错了

第五步 效果验证

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

第一步添加 button和label
在这里插入图片描述
第二步 双击按钮 进入代码编辑窗口
在按钮的点击事件函数中加上下面的代码

        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前
在这里插入图片描述
点击按钮1后 可以看到 已经将数据读取到label上了
在这里插入图片描述
到了这里证明 连接的全过程都完成了

第六 附上所有的代码

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
            {

            }
        }
    }
}

  • 7
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值