使用 DataGridView 控件连接 MySQL 数据库
在开发软件时,我们经常需要与数据库进行交互,包括读取、插入、更新和删除数据。而在开发桌面应用程序时,我们通常需要使用表格来显示和编辑数据。本文将介绍如何使用 C# 中的 DataGridView 控件连接 MySQL 数据库,并展示如何进行基本的数据操作。
在开始之前,我们需要准备以下环境:
安装 MySQL 数据库,并创建一个数据库以及一个数据表。本文将使用一个名为
sampleDB
的数据库和一个名为
users
的数据表。数据表的结构如下:
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
email VARCHAR(100) NOT NULL
安装 Visual Studio,创建一个新的 C# 窗体应用程序项目。
安装 MySQL 连接器。可以通过 NuGet 管理器安装 MySql.Data
包。
连接数据库
首先,我们需要在 C# 代码中引入 MySQL 连接器的命名空间,并创建一个 MySQL 连接对象。这样我们才能与数据库建立连接。
using MySql.Data.MySqlClient;
// 定义连接字符串
string connectionString = "server=localhost;port=3306;database=sampleDB;uid=root;pwd=your_password";
// 创建 MySQL 连接对象
MySqlConnection connection = new MySqlConnection(connectionString);
代码说明:
server=localhost
指定连接的 MySQL 服务器为本地主机。
port=3306
指定连接的 MySQL 服务器端口号,默认为 3306。
database=sampleDB
指定连接的数据库为 sampleDB
。
uid=root
指定连接的 MySQL 用户为 root
。
pwd=your_password
指定连接的 MySQL 用户密码。
接下来,我们将使用 DataGridView 控件来显示从数据库中查询的数据。DataGridView 控件是 Windows 窗体应用程序中常用的显示表格数据的控件。
首先,我们需要在窗体上拖拽一个 DataGridView 控件,并设置其属性 Name
为 dataGridView1
。
在窗体的代码文件中添加以下代码:
using System;
using System.Data;
using System.Windows.Forms;
private void Form1_Load(object sender, EventArgs e)
// 打开数据库连接
connection.Open();
// 创建查询命令
MySqlCommand command = new MySqlCommand("SELECT id, name, age, email FROM users", connection);
// 创建数据适配器
MySqlDataAdapter adapter = new MySqlDataAdapter(command);
// 创建数据集
DataSet dataSet = new DataSet();
// 填充数据集
adapter.Fill(dataSet, "users");
// 关闭数据库连接
connection.Close();
// 将数据集中的数据绑定到 DataGridView 控件
dataGridView1.DataSource = dataSet.Tables["users"];
代码说明:
Form1_Load
方法是窗体加载时自动调用的事件处理方法。
connection.Open()
打开数据库连接。
MySqlCommand
对象用于执行 SQL 命令。
MySqlDataAdapter
对象用于从数据库中检索数据。
DataSet
对象用于存储检索到的数据。
adapter.Fill(dataSet, "users")
方法将数据填充到数据集中的名为 users
的表。
connection.Close()
关闭数据库连接。
dataGridView1.DataSource = dataSet.Tables["users"]
将数据集中的数据绑定到 DataGridView 控件。
运行程序,你将看到窗体中的 DataGridView 控件显示了从数据库中查询到的数据。
接下来,我们将介绍如何向数据库中插入新的数据。我们将使用一个按钮来触发插入操作。
在窗体上拖拽一个 Button 控件,并设置其属性 Name
为 insertButton
,属性 Text
为 插入数据
。
在窗体的代码文件中添加以下代码:
private void insertButton_Click(object sender, EventArgs e)
// 创建插入命令
MySqlCommand command = new MySqlCommand("INSERT INTO users (name, age, email) VALUES (@name, @age, @email)");
command.Connection = connection;
// 添加参数
command.Parameters.AddWithValue("@name", "Alice");
command.Parameters.AddWithValue("@age", 28