- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章BLOB数据数据操作和水晶报表 9.1 BLOB数据(如图片)处理 9.1.1文件方式 以学生照片存储为例,每张照片是一个文件,student表中photo字类型varchar (256)保存照片文件路径 步骤: 1、将照片文件存到指定文件,并在表中保存文件路径 1)显示照片 FileInfo file;//声明一个文件对象 { //PictureBox控件和OpenFileDialog对话框,找到照片并显示。 OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = .png文件|*.png|.jpg文件|*.jpg|.jpeg文件|.jpeg|.gif文件|*.gif|.bmp文件|*.bmp; if (dlg.ShowDialog() == DialogResult.OK) { picphoto.Image=Image.FromFile(dlg.FileName); file=new FileInfo(dlg.FileName);//给文件对象赋值 } } 保存照片(文件保存到程序启动路径) //更新表 string sql = string.Format(update student set photo={0} where student_id={1}, file.FullName, ds.Tables[student].Rows[bs.Position][student_id].ToString()); SqlCommand cmd = new SqlCommand(sql, DBHelper.connection); DBHelper.connection.Open(); int i=cmd.ExecuteNonQuery(); DBHelper.connection.Close(); if (i == 1) { //更新成功,复制图片文件 file.CopyTo(Application.StartupPath+ ds.Tables[student].Rows[bs.Position][student_id].ToString()+file.Extension); ds.Tables[student].Rows[bs.Position][photo] =file.FullName; } 2)读取数据表中指定记录的照片。 读取数据表中当前记录photo字段的路径值。 PictureBox将指定路径中的图片文件读出。 if (ds.Tables[student].Rows[bs.Position][photo]. ToString().Trim() != string.Empty) pictureBox1.Image = Image.FromFile(ds.Tables[student].Rows[bs.Position][photo].ToString()); else pictureBox1.Image=null; 9.1.2字段方式 BLOB数据处理方法1 1.数据绑定:在控件的属性窗口,设置pictureBox的DataBindings属性中的Image属性为BindingSource对象表中某个字段. 2.显示图片:移动记录时自动会显示。 3.输入或改变图片: (1)添加openFileDialog1对象 (2)代码如下: if (openFileDialog1.ShowDialog() ==DialogResult.OK) { 相片PictureBox1.Image = Image.FromFile(openFileDialog1.FileName); oleDbDataAdapter1.Update(dataSet11.学籍表); } BLOB数据处理方法2 图形数据写入数据库步骤 例:将一图形文件写入当前记录的照片字段 窗体中添加OpenFileDialog1和PictureBox1控件. 导入名称空间:using System.IO; 输入图片代码如下: If (OpenFileDialog1.ShowDialog() = DialogResult.OK) { PictureBox1.Image =image.FromFile(OpenFileDialog1.FileName) } FileStream ime=New FileStream(OpenFileDialog1.FileName, FileMode.Open, FileAc
文档评论(0)