byte[] Content=new byte[obj.Length]; //打开文件并用他初始化一个文件流对象 FileStream ImageFileStream=obj.OpenRead(); //将文件内容写入字节数组 ImageFileStream.Read(Content,0,Content.Length); //关闭文件流 ImageFileStream.Close();
//创建一个Sql命令对象,用来插入记录 SqlCommand Command=new SqlCommand("INSERT Into Images(Description,ImageFile,ImageSize,ImageType) Values(@Description,@ImageFile,@ImageSize,@ImageType)",this.MySqlCon);
//图像的描述信息 SqlParameter imageDescriptionParameter=new SqlParameter("@Description",SqlDbType.NVarChar); imageDescriptionParameter.Value=this.txtImage.Text; Command.Parameters.Add(imageDescriptionParameter);
//图像的数据字节数组 SqlParameter imageFileParameter=new SqlParameter("@ImageFile",SqlDbType.Image); imageFileParameter.Value=Content; Command.Parameters.Add(imageFileParameter);
//图像的大小信息 SqlParameter imageSizeParameter=new SqlParameter("@ImageSize",SqlDbType.Int); imageSizeParameter.Value=Content.Length; Command.Parameters.Add(imageSizeParameter);
//图像的类型新信息 SqlParameter imageTypeParameter=new SqlParameter("@ImageType",SqlDbType.NVarChar); imageTypeParameter.Value=obj.Extension; Command.Parameters.Add(imageTypeParameter); //打开数据库连接 this.MySqlCon.Open(); //执行 Sql 语句 Command.ExecuteNonQuery(); //关闭数据库连接 this.MySqlCon.Close();
MessageBox.Show("图像文件 " + obj.FullName + " 成功上传到数据库!"); } catch(Exception Ezone) { MessageBox.Show(Ezone.Message); } } /// <summary> /// 从数据库读取图像 /// </summary> private void btnDownLoad_Click(object sender, System.EventArgs e) { try { //创建一个Sql命令对象,用来查询记录 SqlCommand Command=new SqlCommand("select * from Images order by ImageID DESC",this.MySqlCon); //打开数据库连接 this.MySqlCon.Open(); //执行Sql语句 SqlDataReader MyReader=Command.ExecuteReader(CommandBehavior.CloseConnection);
MyReader.Read(); //创建一个内存流对象并用ImageFile字段,ImageSize字段初始化他 MemoryStream MyMemoryStream=new MemoryStream((byte[])MyReader["ImageFile"],0,Convert.ToInt32(MyReader["ImageSize"])); //创建一个 Image 对象,并赋值给 Picture对象的 Image 属性 this.ImgPictureBox.Image=Image.FromStream(MyMemoryStream); //关闭内存流 MyMemoryStream.Close(); MyReader.Close(); } catch(Exception Ezone) { MessageBox.Show(Ezone.Message); } } } }
上一页 [1] [2] [3] [Access]sql随机抽取记录 [Access]ASP&SQL让select查询结果随机排序的实现方法 [系统软件]如何在Linux系统上进行快速磁带备份 [系统软件]SQL语句性能优化--LECCO SQL Expert [C语言系列]SQL Server到DB2连接服务器的实现 [C语言系列]SQL Server到SYBASE连接服务器的实现 [C语言系列]SQL Server到SQLBASE连接服务器的实现 [C语言系列]SQL Server连接VFP数据库的实现 [C语言系列]ASP+SQL Server之图象数据处理 [C语言系列]SQL Server连接ACCESS数据库的实现
|