C#实现图片上传与数据库存储:亲测代码示例
在本篇C#代码中,我们探讨了如何通过用户界面操作实现图片上传并将图片数据保存到SQL Server数据库中。主要涉及以下几个关键步骤和技术: 1. **用户界面交互**: - 用户点击`linkLabel`触发事件:`linkLabel2_LinkClicked_1`方法被调用,通过`OpenFileDialog`打开文件对话框,允许用户选择图片文件。一旦用户选择文件,该文件路径被存储在`str`变量中,并将选中的图片加载到`pictureBox1`控件中显示。 2. **数据库连接与参数化查询**: - 在`button1_Click_1`方法中,首先建立与SQL Server数据库的连接,使用`SqlConnection`类的构造函数传入数据库连接字符串`strcon`来打开连接。 - 通过`dgvInfo`控件获取当前选中的行索引`inta`,并根据是否已选中记录来确定学生ID(`sssno`)。 - 创建`updateStudentPersonal`的SQL更新语句,其中`@label1`表示图片的路径,`@label2`表示学生ID。使用`SqlCommand`对象`cmd1`执行更新操作,设置其命令文本为`sqlsql`,并添加两个参数`@label1`和`@label2`,分别绑定到`str`和`sssno`变量。 3. **执行数据库操作与错误处理**: - 调用`cmd1.ExecuteNonQuery()`执行SQL命令,如果执行成功返回的行数为0,则说明更新失败,弹出一个提示框显示"ʧ"(可能表示"失败");否则,更新成功,将图片路径信息写入数据库后,更新`dgvInfo`中相应行的第9列(假设是图片路径字段)。 这段代码展示了在C#中如何通过用户交互选择图片,然后将其安全地保存到SQL Server数据库中,同时提供了错误处理机制。这对于开发Web或桌面应用程序,尤其是涉及到用户上传功能时,是一个实用的示例。开发者可以根据实际需求调整代码以适应不同的数据库结构或UI设计。
private void linkLabel2_LinkClicked_1(object sender, LinkLabelLinkClickedEventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
str = openFileDialog1.FileName;
pictureBox1.Image = Image.FromFile(str);
}
}
//保存到数据库的按钮
private void button1_Click_1(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(strcon);
conn.Open();
string sssno;
// int a = dgvInfo.SelectedRows.Count;
int a = dgvInfo.CurrentRow.Index;
if (dgvInfo.Rows[a].Selected==true)
{
sssno = dgvInfo.Rows[a].Cells[0].Value.ToString().Trim();//若点击学号那一列
}
else
{
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展