当前位置:首页C# > 正文

c#winform实现Mysql数据库表增删改查

作者:野牛程序员:2024-01-03 16:39:07C#阅读 2846

使用C# WinForms 可以通过 MySQL 数据库连接器(MySQL Connector)来实现数据库表的增删改查操作。以下是一个简单的示例代码,假设已经安装了 MySQL Connector,并在项目中引用了相关的库。

可以使用以下代码来实现增删改查功能。

using System;
using System.Data;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace YourNamespace
{
    public partial class YourForm : Form
    {
        private MySqlConnection connection;
        private string connectionString = "Server=localhost;Database=YourDatabaseName;User ID=YourUsername;Password=YourPassword;";

        public YourForm()
        {
            InitializeComponent();
            connection = new MySqlConnection(connectionString);
        }

        private void Form_Load(object sender, EventArgs e)
        {
            // 加载数据到 DataGridView
            LoadData();
        }

        private void LoadData()
        {
            string query = "SELECT * FROM YourTableName";
            MySqlCommand cmd = new MySqlCommand(query, connection);

            try
            {
                connection.Open();
                MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                adapter.Fill(dt);
                dataGridView1.DataSource = dt;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
            finally
            {
                connection.Close();
            }
        }

        private void btnInsert_Click(object sender, EventArgs e)
        {
            // 插入数据
            string query = "INSERT INTO YourTableName (Column1, Column2, ...) VALUES (@Value1, @Value2, ...)";
            MySqlCommand cmd = new MySqlCommand(query, connection);

            // 设置参数
            cmd.Parameters.AddWithValue("@Value1", textBox1.Text);
            cmd.Parameters.AddWithValue("@Value2", textBox2.Text);
            // ...

            try
            {
                connection.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show("数据插入成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
            finally
            {
                connection.Close();
                LoadData(); // 刷新数据
            }
        }

        private void btnUpdate_Click(object sender, EventArgs e)
        {
            // 更新数据
            string query = "UPDATE YourTableName SET Column1=@Value1, Column2=@Value2 WHERE YourPrimaryKeyColumn=@PrimaryKeyValue";
            MySqlCommand cmd = new MySqlCommand(query, connection);

            // 设置参数
            cmd.Parameters.AddWithValue("@Value1", textBox1.Text);
            cmd.Parameters.AddWithValue("@Value2", textBox2.Text);
            cmd.Parameters.AddWithValue("@PrimaryKeyValue", primaryKeyTextBox.Text);

            try
            {
                connection.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show("数据更新成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
            finally
            {
                connection.Close();
                LoadData(); // 刷新数据
            }
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            // 删除数据
            string query = "DELETE FROM YourTableName WHERE YourPrimaryKeyColumn=@PrimaryKeyValue";
            MySqlCommand cmd = new MySqlCommand(query, connection);

            // 设置参数
            cmd.Parameters.AddWithValue("@PrimaryKeyValue", primaryKeyTextBox.Text);

            try
            {
                connection.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show("数据删除成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
            finally
            {
                connection.Close();
                LoadData(); // 刷新数据
            }
        }
    }
}


这只是一个简单的示例,实际项目中需要更严谨的错误处理和安全性检查。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击