c#winform中用按钮上传文件到mysql数据库
时间: 2023-08-12 15:04:43 浏览: 304
你可以按照以下步骤来实现在 C# WinForm 中使用按钮上传文件到 MySQL 数据库:
1. 在 WinForm 中添加一个按钮,并为其添加单击事件处理程序。
2. 在单击事件处理程序中,使用 OpenFileDialog 控件选择要上传的文件。你可以使用以下代码:
```
OpenFileDialog openFileDialog = new OpenFileDialog();
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
// 获取选定文件的路径
string filePath = openFileDialog.FileName;
// 执行上传操作
UploadFileToMysql(filePath);
}
```
3. 在 UploadFileToMysql 方法中,使用 MySqlConnection 和 MySqlCommand 对象连接到 MySQL 数据库,并将文件以二进制数据的形式插入到数据库中。你可以使用以下代码:
```
private void UploadFileToMysql(string filePath)
{
// 连接数据库
MySqlConnection conn = new MySqlConnection("server=localhost;user id=root;password=123456;database=mydb");
conn.Open();
// 读取文件数据
byte[] fileData = File.ReadAllBytes(filePath);
// 插入数据到数据库
MySqlCommand cmd = new MySqlCommand("INSERT INTO files (filename, filedata) VALUES (@filename, @filedata)", conn);
cmd.Parameters.AddWithValue("@filename", Path.GetFileName(filePath));
cmd.Parameters.AddWithValue("@filedata", fileData);
cmd.ExecuteNonQuery();
// 关闭连接
conn.Close();
}
```
4. 在 MySQL 数据库中创建一个名为 files 的表,用于存储文件数据。你可以使用以下 SQL 语句创建该表:
```
CREATE TABLE `files` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`filename` varchar(255) NOT NULL,
`filedata` longblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
这样,当用户单击按钮并选择要上传的文件时,该文件将被读取并以二进制数据的形式插入到 MySQL 数据库的 files 表中。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![text/plain](https://img-home.csdnimg.cn/images/20250102104920.png)