C#连接MySQL

这篇具有很好参考价值的文章主要介绍了C#连接MySQL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、环境搭配

         安装MySQL,引用MySql.Data.DLL文件,这个MySql.Data.DLL文件在你安装Mysql的时候已经下载好给你的了。

C#连接MySQL

        把它复制到项目的Debug目录下,然后引用即可。

C#连接MySQL

二、连接使用步骤

        声明对象,有连接对象,语句执行对象,结果读取对象,在这我们要先引用一下MysqlClient。

C#连接MySQL 

//连接对象
        MySqlConnection conn=null;
       
        //语句执行对象
        MySqlCommand comm=null;
        //语句执行结果数据对象
        MySqlDataReader dr = null;

        连接数据库

 conn = new MySqlConnection("Database = stu;Server = localhost;Port = 3306;Password = 123456;UserID = root;charset = utf8mb4");

        sql语句命令对象

comm = new MySqlCommand("select * from user",conn);

        执行语句获取数据

 dr = comm.ExecuteReader(); /*查询*/
 //dr = comm.ExecuteNonQuery();  /*增删改*/
            while (dr.Read())
            {               
                tbText.Text += dr.GetString("对应表字段名称") + "----" + dr.GetString("password");
                tbText.Text += "\r";
            }
            dr.Close();
            conn.Close();

        注意使用完,我们要关闭掉连接资源。如果连接失败,可能是版本不对,活动平台要修改成x86的平台。

三、功能代码实现

         首先创建一个数据库,随便写入几条数据。

CREATE TABLE `user` (
  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

insert into user values('jack','sss');
insert into user values('123','123');

        布局 有一个CheckedListBox控件,方便勾选删除。

C#连接MySQL

        代码

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;
using MySql.Data;
namespace MysqlText
{
    public partial class frm_main : Form
    {
        //连接对象
        MySqlConnection conn=null;      
        //语句执行对象
        MySqlCommand comm=null;
        //语句执行结果数据对象
        MySqlDataReader dr = null;
        string strConn = "";
        public frm_main()
        {
            InitializeComponent();
            strConn = "Database = stu;Server = localhost;Port = 3306;Password = 123456;UserID = root;charset = utf8mb4";
            conn = new MySqlConnection(strConn);
        }

        /// <summary>
        /// 连接
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnConn_Click(object sender, EventArgs e)
        {            
            //判断连接状态
            if (conn.State != ConnectionState.Open)
            {
                conn.Open();
                tbText.Text = strConn;
                label4.Text = "";
                label4.Text = "连接成功";
            }
        }
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSel_Click(object sender, EventArgs e)
        {
            //判断连接状态
            if (!CkeckConn())
            {
                MessageBox.Show("请连接数据库");
                return;
            }
            comm = new MySqlCommand("select * from user", conn);
            tbText.Text = "";
            dr = comm.ExecuteReader(); /*查询*/
            while (dr.Read())
            {
                tbText.Text += dr.GetString("username") + "----" + dr.GetString("password");
                tbText.Text += "\r\n";
            }
            dr.Close();
            ckLBoxsRefresh();
        }

        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdd_Click(object sender, EventArgs e)
        {
            //判断连接状态
            if (!CkeckConn())
            {
                MessageBox.Show("请连接数据库");
                return;
            }
            label4.Text = "";
            //先判断用户是否已注册
            if (tbUser.Text =="" || tbPW.Text=="")
            {
                label4.Text = "请完善信息";
                return;
            }
            comm = new MySqlCommand("select * from user where username = '" + tbUser.Text + "'", conn);
            dr = comm.ExecuteReader();
            if (dr.Read())
            {
                label4.Text = "已存在用户" + tbUser.Text;
            }
            else
            {
                dr.Close();
                int num = 0;
                comm = new MySqlCommand("insert into user values('" + tbUser.Text + "','" + tbPW.Text + "')", conn);               
                num = comm.ExecuteNonQuery();
                if (num > 0)
                {
                    label4.Text = "已添加用户" + tbUser.Text;
                    ckLBoxsRefresh();
                    tbText.Text = "";

                }
                else
                {
                    label4.Text = "添加失败";
                }
            }
            dr.Close();
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUp_Click(object sender, EventArgs e)
        {
            //判断连接状态
            if (!CkeckConn())
            {
                MessageBox.Show("请连接数据库");
                return;
            }
            label4.Text = "";
            //先判断用户是否已注册
            comm = new MySqlCommand("select * from user where username = '" + tbUpUser.Text + "'", conn);
            dr = comm.ExecuteReader();
            if (dr.Read())
            {
                dr.Close();
                int num = 0;
                comm = new MySqlCommand("update user set  password = '" + tbUpPW.Text + "'where username = '" + tbUpUser.Text + "'", conn);
                num = comm.ExecuteNonQuery();
                if (num > 0)
                {
                    label4.Text = "已修改用户" + tbUpUser.Text + "密码";
                    tbText.Text = "";
                }
                else
                {
                    label4.Text = "修改失败";
                }
            }
            else
            {
                label4.Text = "用户不存在";
            }
            dr.Close();
        }

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDel_Click(object sender, EventArgs e)
        {
            //判断连接状态
            if (!CkeckConn())
            {
                MessageBox.Show("请连接数据库");
                return;
            }
            label4.Text = "";
            //查找选中
            for (int i = 0; i < ckLBoxs.Items.Count; i++)
            {
                if (ckLBoxs.GetItemChecked(i))
                {                   
                    int num = 0;
                    comm = new MySqlCommand("delete from user where username = '" + ckLBoxs.Items[i].ToString() + "'", conn);

                    num = comm.ExecuteNonQuery();
                    if (num > 0)
                    {
                        label4.Text += "已删除用户" + ckLBoxs.Items[i].ToString()+"\t";
                        ckLBoxsRefresh();
                        tbText.Text = "";
                    }
                    else
                    {
                        label4.Text = "用户不存在";
                    }
                }
            }
        }
        /// <summary>
        /// 判断连接
        /// </summary>
        /// <returns></returns>
        private bool CkeckConn()
        {
            if (conn.State ==ConnectionState.Open)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// 列表更新
        /// </summary>
        private void ckLBoxsRefresh()
        {
            //判断连接状态
            if (!CkeckConn())
            {
                MessageBox.Show("请连接数据库");
                return;
            }
            comm = new MySqlCommand("select * from user", conn);
            dr = comm.ExecuteReader();
            ckLBoxs.Items.Clear();
            int num = 0;
            while (dr.Read())
            {
                ckLBoxs.Items.Add(dr.GetString(0));
                num++;
            }
            label4.Text = "";
            label4.Text = "已更新数据" + num.ToString() + "条。";
            dr.Close();
        }
        /// <summary>
        /// 退出
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Exit_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        /// <summary>
        /// 关闭
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frm_main_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (conn !=null )
            {
                if (conn.State != ConnectionState.Closed)
                {
                    conn.Close();
                }
            }
            if (dr !=null)
            {
                dr.Close();
            }
        }
    }
}

 四、效果

        连接

C#连接MySQL

        查询

C#连接MySQL

        添加

C#连接MySQL

        修改

C#连接MySQL

        删除

C#连接MySQL

C#连接mysql以及CRUD的实现就这样,如有什么问题或者交流可以留言或私信me。

 文章来源地址https://www.toymoban.com/news/detail-512402.html

 

 

 

 

 

到了这里,关于C#连接MySQL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【小白专用】C# 连接 MySQL 数据库

    C# – Mysql 数据库连接 1. 配置环境 #前提:电脑已安装Mysql服务; Visual Studio 安装Mysql依赖库:     工具 - NuGet 包管理器 - 管理解决方案的 NuGet程序包 — 搜索, 安装Mysql.Data (Oracle); (安装成功后,在项目引用里面可以看到 Mysql.Data)   接着安装 System.Data.SqlClient 这样就安装完成

    2024年02月01日
    浏览(42)
  • Unity、C#连接MySQL数据库

    (一)安装完MySQL后,打开Navicat进行连接,连接名随便输入,本地的(此电脑上的)MySQL主机就为: localhost或者127.0.0.1 ,用户名和密码:如果是本地MySQL就为你安装时设置的用户名和密码。 (二)(如果是本地MySQL)快速的创建如下表:   (一)创建控制台应用 (二)项目

    2023年04月08日
    浏览(58)
  • 使用C#连接MySQL数据库(详解)

    ✨前言✨ 本片文章,主要在于C#连接MySQL数据库,由于这之间无法建立直接联系,这时候就涉及到了第三方连接工具.NET,以此来建立C#与MySQL数据库的连接 🍒欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍒博主将持续更新学习记录收获,友友们有任何问题可以在评论区留

    2024年02月05日
    浏览(50)
  • 【C#&Mysql】最全C#连接Mysql: 读、增、删、改、查

    前方高能,请准备好小板凳,本文篇幅很长,由于是初学,如有不合适的还请大神指导。 最近在研究C#连接Mysql,并实现数据的读写,发现里面还有很多需要注意的,研究过程也遇到不少问题,现在将本人研究的成果分享出来,供需要的朋友学习,最终界面如下图所示,左边

    2024年02月01日
    浏览(21)
  • C#连接Mysql数据库详细教程(内附Mysql及Navicat)

            课上教学使用的是SqlServer数据库,由于SqlServer数据库配置难以理解,故学习使用Mysql代替数据库连接。(Mysql以及Navicat安装说明在压缩包内)         Mysql连接首先需要用到Mysql.Data.dll连接文件,也就是Mysql Connector Net这一文件,下载后安装会自动在C:Program Files (x8

    2024年02月14日
    浏览(36)
  • SpringMVC环境搭配

    概述 Spring MVC是Spring Framework提供的Web组件,全称是Spring Web MVC,是目前主流的实现MVC设计模式的框架,提供前端路由映射、视图解析等功能 mvc是什么 MVC是一种软件架构思想,把软件按照模型,视图,控制器来划分 Model:     模型层,指工程中的JavaBean,用来处理数据     J

    2024年01月22日
    浏览(26)
  • [C#] WinForm/WPF 实现数据库连接与操作(MySQL)

    目录 🌿前言 🌿MySQL数据库简介 🌿数据库的基本概念 🌿ADO.NET体系结构 数据提供程序(.NET Framework Data Provider) 程序数据集(DataSet) 🌿数据库的访问形式 🌿数据库的连接 🌿实现增查改删(CRUD)操作 CRUD SQL常用语句 程序实现数据读取操作 程序实现增删改操作 数据库的使用在涉及

    2024年02月09日
    浏览(35)
  • 【linux下安装运行C#程序环境】linux下安装运行C#(dotnet)程序环境

    若yum的数据源不是国内的,速度原因,建议换yum数据源:yum换源操作 先查看系统版本号: 结果: 先添加配置对应的centos版本的C#数据源(此处为7) 可点击链接找到自己需要的系统及版本 https://packages.microsoft.com/config/ 查找需要安装的dotnet-sdk版本 结果: yum安装C#依赖包(此处

    2024年02月14日
    浏览(33)
  • C#控制台连接Mysql数据库,有配置数据库连接字符串的配置文件

    实现功能 读取. .txt 中的配置文件,来初始化连接字符串 让连接字符串的配置文件不存在会主动创建默认的连接字符串 注意点: 需要引用Newtonsoft 使用mysql

    2024年02月10日
    浏览(42)
  • solidity开发环境配置,vscode搭配remix

    #学习笔记 初学solidity,使用remix非常方便,因为需要的环境都配置好了,打开网站就可以使用。 不过在编写代码方面,使用vscode更方便,而vscode本身并不能像remix那样部署合约,它还需要安装插件。 点击红色箭头指向的按钮,然后在红色框输入remix,安装即可。 安装之后是这

    2024年02月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包