vs中c#连接Mysql,完成增删改查功能

一、功能要求

 数据库连接
1、请设计一个项目连接到自己的MySQL数据库,数据库包含至少三张表;
2、使用dataGridView控件显示表中的数据;
3、实现基本crud操作;

二、准备工作

mysql-for-visualstudio-1.2.9.msi Visual Studio连接MySQL工具
mysql-connector-net-8.0.20.msi mysql数据库.net开发驱动

三、具体功能实现

以下是源代码:

using MySql.Data.MySqlClient;
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 WinFormsApp2
{
    public partial class Form1 : Form
    {
        MySqlConnection conn; //连接数据库对象
        MySqlDataAdapter mda; //适配器变量
        DataSet ds;  //临时数据集
        public Form1()
        {
            InitializeComponent();
        }

        private void button5_Click(object sender, EventArgs e)
        {

            string M_str_sqlcon = "server=localhost;user id=root;password=123456;port=3306;persistsecurityinfo=True;database=mysql_1;SslMode=None";                                                                                             //创建数据库连接对象
            conn = new MySqlConnection(M_str_sqlcon);
            try
            {
                //打开数据库连接
                conn.Open();
                MessageBox.Show("数据库已经连接了!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {

            string sql = "select * from course";
            mda = new MySqlDataAdapter(sql, conn);
            ds = new DataSet();
            mda.Fill(ds, "course");
            //显示数据
            dataGridView1.DataSource = ds.Tables["course"];
            conn.Close();

        }

        private void button2_Click(object sender, EventArgs e)
        {

            if (mda == null || ds == null)
            {
                MessageBox.Show("请先导入数据");
                return;
            }
            try
            {
                string msg = "确实要添加此条数据吗?";
                if (1 == (int)MessageBox.Show(msg, "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation))
                {
                    MySqlCommandBuilder builder = new MySqlCommandBuilder(mda);
                    mda.Update(ds, "course");
                    MessageBox.Show("添加成功", "提示");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "错误信息");
            }

        }

        private void button3_Click(object sender, EventArgs e)
        {

            if (mda == null || ds == null)
            {
                MessageBox.Show("请先导入数据");
                return;
            }
            try
            {
                string msg = "确实要修改吗?";
                if (1 == (int)MessageBox.Show(msg, "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation))
                {
                    MySqlCommandBuilder builder = new MySqlCommandBuilder(mda); //命令生成器。
                                                                                //适配器会自动更新用户在表上的操作到数据库中
                    mda.Update(ds, "course");
                    MessageBox.Show("修改成功", "提示");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "错误信息");
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {

            int index = dataGridView1.CurrentCell.RowIndex;
            int id = (int)dataGridView1.Rows[index].Cells[0].Value;
            string sql = "delete from user where id=" + id + "";
            conn.Open();
            MySqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = sql;
            int i = cmd.ExecuteNonQuery();
            if (i < 0)
            {
                conn.Close();
                MessageBox.Show("删除失败");
                return;
            }
            conn.Close();

        }

        private void button6_Click(object sender, EventArgs e)
        {

            Application.Exit();


        }
    }
}

四、相关步骤与效果展示

 

 

 

gitee地址:
https://gitee.com/AuroraTK/homework_3.git

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用 C# WinForms 连接 MySQL 数据库进行增删改查操作的基本步骤: 1. 安装 MySQL Connector/NET。可以从 MySQL 官网下载安装程序并进行安装。 2. 在 WinForms 应用程序添加对 MySQL Connector/NET 的引用。在解决方案资源管理器右键单击项目,选择“添加引用”,在“程序集”选项卡选择“MySQL.Data”。 3. 在代码添加命名空间 using MySql.Data.MySqlClient。 4. 创建一个 MySqlConnection 对象并设置连接字符串。 ```csharp string connStr = "server=localhost;user=root;database=mydatabase;port=3306;password=mypassword;"; MySqlConnection conn = new MySqlConnection(connStr); ``` 5. 打开数据库连接。 ```csharp conn.Open(); ``` 6. 执行 SQL 命令并获取结果。 ```csharp // 查询 string sql = "SELECT * FROM mytable WHERE id = @id"; MySqlCommand cmd = new MySqlCommand(sql, conn); cmd.Parameters.AddWithValue("@id", 1); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader["id"].ToString() + " " + reader["name"].ToString()); } // 插入 sql = "INSERT INTO mytable (name) VALUES (@name)"; cmd = new MySqlCommand(sql, conn); cmd.Parameters.AddWithValue("@name", "John"); int rowsAffected = cmd.ExecuteNonQuery(); // 更新 sql = "UPDATE mytable SET name = @name WHERE id = @id"; cmd = new MySqlCommand(sql, conn); cmd.Parameters.AddWithValue("@name", "Mary"); cmd.Parameters.AddWithValue("@id", 1); rowsAffected = cmd.ExecuteNonQuery(); // 删除 sql = "DELETE FROM mytable WHERE id = @id"; cmd = new MySqlCommand(sql, conn); cmd.Parameters.AddWithValue("@id", 1); rowsAffected = cmd.ExecuteNonQuery(); ``` 7. 关闭数据库连接。 ```csharp conn.Close(); ``` 以上是连接 MySQL 数据库进行增删改查操作的基本步骤。需要注意的是,输入的 SQL 语句的参数应该使用参数化查询,以避免 SQL 注入攻击。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值