使用C#和MySQL Connector更新数据库记录

在本文中,将探讨如何使用C#语言和MySQL Connector for .NET来更新MySQL数据库中的记录。这是一个实用的教程,适合那些希望在.NET环境中与MySQL数据库进行交互的开发者。

运行示例的先决条件

在开始之前,请确保已经具备以下条件:

  • 安装了Visual Studio 2005或Visual Studio 2008。
  • 在本地机器或远程主机上安装了MySQL数据库。
  • 拥有MySQL数据库管理工具,例如phpMyAdmin,这是一个Web界面,允许创建数据库并运行SQL语句。

开始之前

首先,需要使用MySQL管理工具创建一个新的数据库,命名为inventorydb。然后,从以下链接下载MySQL脚本文件,该文件包含items表结构和数据。

下载MySQL脚本文件:

使用MySQL管理工具打开此文件,或者将SQL语法复制粘贴到MySQL管理工具中,然后运行它。这应该会在inventorydb数据库中创建items表。

Visual Studio设置

在Visual Studio中,需要安装MySQLConnector for .NET,这是一个.NET库,用于支持.NET中的MySQL数据库连接。可以从以下链接下载并安装连接器:

下载MySQL Connector:

在安装连接器时,请确保在安装之前关闭Visual Studio。

一旦MySQL连接器在计算机上成功安装,就可以从以下链接下载示例,并将其解压到某个文件夹中。

下载示例:

使用Visual Studio打开示例解决方案文件。在解决方案资源管理器中,打开App.Config文件,并更改连接字符串,使其指向之前创建的MySQL数据库。根据数据库实例更改连接字符串中的数据库用户名和密码。

运行示例,它应该会在网格中显示项目列表。可以更新、插入或从这个列表中删除项目。

源代码描述

这个示例的源代码非常简单明了。以下是初始化MySQL连接的代码:

MySqlConnection connection = new MySqlConnection(ConnectionString);

获取数据库表中的所有项目,并填充到数据表中:

DataTable DTItems = GetAllItems();

函数AllItems()从数据库表中返回所有项目:

DataTable GetAllItems() { try { string query = "SELECT * FROM items"; MySqlDataAdapter adapter = new MySqlDataAdapter(query, connection); DataSet DS = new DataSet(); adapter.Fill(DS); return DS.Tables[0]; } }

在检索所有项目到数据表后,使用数据表填充网格视图:

dataGridView1.DataSource = DTItems;

在初始化数据集时,为适配器设置更新、插入和删除命令:

adapter.UpdateCommand = new MySqlCommand("UPDATE items SET ItemName=@ItemName, Price=@Price, AvailableQuantity=@AvailableQuantity, Updated_Dt=NOW() WHERE ItemNumber=@ItemNumber;", connection); // 添加参数... adapter.InsertCommand = new MySqlCommand("INSERT INTO items VALUES (@ItemNumber,@ItemName, @Price,@AvailableQuantity,NOW());", connection); // 添加参数... adapter.DeleteCommand = new MySqlCommand("DELETE FROM items WHERE ItemNumber=@ItemNumber;", connection); // 添加参数...

当点击保存按钮时,需要更新适配器以保存记录。注意,当适配器更新时,相应的命令(插入、更新或删除)将根据在网格上执行的操作执行数据库操作。

private void btnSave_Click(object sender, EventArgs e) { try { adapter.Update(DTItems); } } private void btnDelete_Click(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count > 0) { dataGridView1.Rows.Remove(dataGridView1.SelectedRows[0]); adapter.Update(DTItems); } }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485