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
{
}
}
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)