winform 中textbox怎么样删除选定的行_C# Win Form 编程实现图片的数据库存储

一般来讲涉及到图片的存储,普遍做法是采用数据库存储图片在服务器端的存储路径(物理路径+文件名称)。在需要sh使用图片时从数据库读取路径之后进行图片的操作即可。该方法的主要问题在于存储图片时需要单独编写文件的上传功能,需要一定的代码编写量。于此同时大部分关系型数据库本身也包含了image图片类型。允许开发者将图片作为数据类型直接存储到数据库,针对海量数据存储,普遍认为该方法效率较低、成本较高。但对数据量较小时,使用数据库进行图片的存储也是可以选择使用的方法。该方法直接读取图片资源写入数据库即可,与第一种方法相比较避免了单独编写图片上传的操作,减少了代码编写量。本文主要对数据库存储图片实现进行说明,为初学者简单讲解实现的核心操作与代码。为演示操作给出数据存储的form窗口,窗口如下:

083245bba57a4addc79447637be8e165.png

演示Form


如上图所示,我们希望借助数据表存储选手注册信息,在所存储的字段中包含了用户的照片,该字段数据类型选择使用image。通过openfiledialog方法选择照片并将路径写入对应TextBox中。其中选择按钮消息处理实现代码如下:

 OpenFileDialog dia = new OpenFileDialog(); if(dia.ShowDialog()==DialogResult.OK) { this.userpic.Text = dia.FileName; }

注册按钮实现部分主要是获取窗口各控件值,在进行判断之后连接数据库,实现各类数据的存储。提交注册按钮事件部分代码描述如下:

4ea75fcff766ee27dad871282f0aae02.png

读取图片并存储数据库


以上给出图片存储数据库的方法、思路与部分核心代码,在实现数据存储之后,可根据实际情况调用数据库中存储的Image图片资源并进行显示。本文给出参考Form对图片资源显示进行说明。Form截图如下图所示:

68e281275565b34455070de57dcc32b5.png

IMage图片数据库读取(图片来源互联网,侵权联系删除)

select * from [user] where user_id='" + this.user_id + "'"//定义查询语句ds为记录集 if (dr["user_image"] != DBNull.Value)//读取user_image字段并写入数组{ byte[] uimage = (byte[])dr["user_image"]; MemoryStream stream = new MemoryStream(uimage);//写入内存流 image = Image.FromStream(stream);// this.pictureBox1.Image = image;//与控件关联 }

以上给出数据库存储图片类型数据并通过C#语言进行读写操作实现的部分核心代码,如有问题建议与意见联系作者共同探讨,往期文章请点击链接阅读:

  1. Win Form登录框本地记住密码功能实现
  2. C# Win Form 实现XML文件读写
  3. C# Win Form 读取CSV文件数据
  4. C# Win Form 动态添加CheckBox控件

本头条号长期关注于青少年编程资讯分享;编程课程、素材、代码分享及青少年编程培训。如果您对以上方面有兴趣,可关注该头条号,如有编程学习问题可以联系作者,共同探讨。

可以使用以下代码来实现将 Excel 数据导入到 MySQL 数据库: ```csharp using System; using System.Data; using System.Data.OleDb; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace ExcelToMySQL { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // 设置 Excel 文件路径和连接字符串 string filePath = textBox1.Text; string fileExt = System.IO.Path.GetExtension(filePath); string connString = ""; if (fileExt == ".xls") { connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;'"; } else if (fileExt == ".xlsx") { connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;'"; } // 读取 Excel 数据到 DataTable OleDbConnection conn = new OleDbConnection(connString); OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn); DataTable dt = new DataTable(); da.Fill(dt); // 将 DataTable 数据导入到 MySQL 数据库 string mysqlConnString = "Server=localhost;Database=test;Uid=root;Pwd=123456;"; MySqlConnection mysqlConn = new MySqlConnection(mysqlConnString); mysqlConn.Open(); foreach (DataRow row in dt.Rows) { MySqlCommand cmd = new MySqlCommand(); cmd.Connection = mysqlConn; cmd.CommandText = "INSERT INTO mytable (id, name, age) VALUES (@id, @name, @age)"; cmd.Parameters.AddWithValue("@id", row["ID"].ToString()); cmd.Parameters.AddWithValue("@name", row["Name"].ToString()); cmd.Parameters.AddWithValue("@age", row["Age"].ToString()); cmd.ExecuteNonQuery(); } mysqlConn.Close(); MessageBox.Show("导入成功!"); } } } ``` 在上面的代码,需要根据实际情况修改以下变量: - `filePath`:Excel 文件路径 - `connString`:Excel 连接字符串 - `mysqlConnString`:MySQL 连接字符串 - `da.Fill(dt)`:指定要读取的 Excel 工作表名称(这里是 `Sheet1`) - `cmd.CommandText`:指定要插入数据的表名和字段名 另外,需要在 WinForm 窗体添加一个 `TextBox` 控件和一个 `Button` 控件,并将它们分别命名为 `textBox1` 和 `button1`。当用户点击 `button1` 按钮时,会触发 `button1_Click` 方法,从而执 Excel 数据导入到 MySQL 数据库的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值