private void button2_Click(object sender, EventArgs e) { string connStr, updateCmd; connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\\桌面\\zcgl\\xinxi.accdb;"; updateCmd = "UPDATE chexinxi SET 车型=@t2,颜色=@t3,租金=@t4,押金=@t5,出租状态=@t6,详细信息=@t7 WHERE 车牌号=@t1;"; OleDbConnection conn; OleDbCommand cmd; conn = new OleDbConnection(connStr); conn.Open(); cmd = new OleDbCommand(updateCmd, conn); cmd.Parameters.AddWithValue("@t1", textBox1.Text); cmd.Parameters.AddWithValue("@t2", textBox2.Text); cmd.Parameters.AddWithValue("@t3", textBox3.Text); cmd.Parameters.AddWithValue("@t4", textBox4.Text); cmd.Parameters.AddWithValue("@t5", textBox5.Text); cmd.Parameters.AddWithValue("@t6", textBox6.Text); cmd.Parameters.AddWithValue("@t7", textBox7.Text); cmd.ExecuteNonQuery(); MessageBox.Show("修改成功!"); conn.Close(); conn.Open(); this.dataGridView1.Refresh(); // 刷新数据源 conn.Close(); }
时间: 2024-04-29 22:19:35 浏览: 119
这段代码实现了对Access数据库中的车辆信息表(chexinxi)的更新操作,其中包括车型、颜色、租金、押金、出租状态和详细信息等字段。具体实现步骤如下:
1. 首先,建立一个OleDbConnection对象,用来连接Access数据库。
2. 指定需要更新的信息,构造一个UPDATE语句,将需要更新的字段用占位符(@t1, @t2, ...)表示。其中,@t1指的是车牌号字段。
3. 创建一个OleDbCommand对象,并将该UPDATE语句和上述OleDbConnection对象传入该对象的构造函数中。
4. 通过OleDbCommand对象的Parameters属性,逐个添加需要更新的字段的值。
5. 调用OleDbCommand对象的ExecuteNonQuery方法执行UPDATE语句,完成更新操作。
6. 提示用户更新成功,并刷新DataGridView控件显示的数据源,即重新查询一遍Access数据库中的车辆信息表。
需要注意的是,该代码片段中的textBox1、textBox2、textBox3等是Windows窗体应用程序中的文本框控件,用于输入更新车辆信息的内容。
如果您有其他的问题或疑问,请继续提出,我会尽力帮助您。
相关问题
winform excel导入mysql_c#将Excel数据导入到数据库的实现代码
以下是将 Excel 数据导入到 MySQL 数据库的 C# 代码示例:
```csharp
private void btnImport_Click(object sender, EventArgs e)
{
// 获取 Excel 文件路径
string filePath = txtFilePath.Text;
// 连接 Excel 文件
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;'";
OleDbConnection conn = new OleDbConnection(connStr);
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", conn);
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
// 将 Excel 数据读入 DataSet
DataSet ds = new DataSet();
adapter.Fill(ds);
// 连接 MySQL 数据库
string mysqlConnStr = "Server=127.0.0.1;Database=test;Uid=root;Pwd=123456;";
MySqlConnection mysqlConn = new MySqlConnection(mysqlConnStr);
mysqlConn.Open();
// 插入数据到 MySQL 数据库
foreach (DataRow row in ds.Tables[0].Rows)
{
MySqlCommand mysqlCmd = new MySqlCommand();
mysqlCmd.Connection = mysqlConn;
mysqlCmd.CommandText = "INSERT INTO `test`.`table1` (`Column1`, `Column2`, `Column3`) VALUES (@Column1, @Column2, @Column3)";
mysqlCmd.Parameters.AddWithValue("@Column1", row["Column1"]);
mysqlCmd.Parameters.AddWithValue("@Column2", row["Column2"]);
mysqlCmd.Parameters.AddWithValue("@Column3", row["Column3"]);
mysqlCmd.ExecuteNonQuery();
}
MessageBox.Show("导入成功!");
}
catch (Exception ex)
{
MessageBox.Show("导入失败:" + ex.Message);
}
finally
{
conn.Close();
mysqlConn.Close();
}
}
```
需要注意的是,该示例代码使用了 `OleDbConnection` 和 `OleDbDataAdapter` 来连接 Excel 文件和读取数据,使用了 `MySqlConnection` 和 `MySqlCommand` 来连接 MySQL 数据库和插入数据。在使用前需要引入 `System.Data.OleDb` 和 `MySql.Data.MySqlClient` 命名空间,并且需要先安装 `MySql.Data` NuGet 包。另外,代码中的数据库连接字符串、Excel 表名、表字段名等需要根据实际情况进行调整。
阅读全文