文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#连接MySQL

2023-09-05 13:43

关注

一、环境搭配

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

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

二、连接使用步骤

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

 

//连接对象        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控件,方便勾选删除。

        代码

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);        }        ///         /// 连接        ///         ///         ///         private void btnConn_Click(object sender, EventArgs e)        {                        //判断连接状态            if (conn.State != ConnectionState.Open)            {                conn.Open();                tbText.Text = strConn;                label4.Text = "";                label4.Text = "连接成功";            }        }        ///         /// 查询        ///         ///         ///         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();        }        ///         /// 添加        ///         ///         ///         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();        }        ///         /// 修改        ///         ///         ///         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();        }        ///         /// 删除        ///         ///         ///         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 = "用户不存在";                    }                }            }        }        ///         /// 判断连接        ///         ///         private bool CkeckConn()        {            if (conn.State ==ConnectionState.Open)            {                return true;            }            else            {                return false;            }        }        ///         /// 列表更新        ///         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();        }        ///         /// 退出        ///         ///         ///         private void btn_Exit_Click(object sender, EventArgs e)        {            this.Close();        }        ///         /// 关闭        ///         ///         ///         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以及CRUD的实现就这样,如有什么问题或者交流可以留言或私信me。

 

 

 

 

 

 

来源地址:https://blog.csdn.net/weixin_42314624/article/details/127620968

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯