时间:2021-07-01 10:21:17 帮助过:33人阅读
2。从数据库中读取图片文件
- <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">从数据库中读取图片,并显示在PictureBoc控件中</span>
- <span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">void</span> button2_Click(<span style="color: rgba(0, 0, 255, 1)">object</span><span style="color: rgba(0, 0, 0, 1)"> sender, EventArgs e)
- {
- </span><span style="color: rgba(0, 0, 255, 1)">int</span> id = <span style="color: rgba(128, 0, 128, 1)">6</span>;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">要读取的图片在数据库中的编号,因为是测试就手动修改要读取的编号</span>
- <span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">
- {
- OleDbConnection conn </span>= <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> OleDbConnection(conStr);
- </span><span style="color: rgba(0, 0, 255, 1)">string</span> sql = $<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">select pictText from mTable where ID={id}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
- OleDbCommand cmd </span>= <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> OleDbCommand(sql, conn);
- conn.Open();
- OleDbDataAdapter oda </span>= <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> OleDbDataAdapter(cmd);
- DataTable dt </span>= <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> DataTable();
- oda.Fill(dt);
- conn.Close();
- conn.Dispose();
- </span><span style="color: rgba(0, 0, 255, 1)">if</span>(dt.Rows.Count><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">)
- {
- pic </span>= dt.Rows[<span style="color: rgba(128, 0, 128, 1)">0</span>][<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">].ToString();
- </span><span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 255, 1)">string</span><span style="color: rgba(0, 0, 0, 1)">.IsNullOrEmpty(pic))
- {
- </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">把string转成字节数组</span>
- <span style="color: rgba(0, 0, 255, 1)">byte</span>[] imageBytes =<span style="color: rgba(0, 0, 0, 1)"> Convert.FromBase64String(pic);
- </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">把字节读取到内存</span>
- MemoryStream memoryStream = <span style="color: rgba(0, 0, 255, 1)">new</span> MemoryStream(imageBytes, <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">, imageBytes.Length);
- memoryStream.Write(imageBytes, </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">, imageBytes.Length);
- </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">字节数组转成Image对象</span>
- Image image =<span style="color: rgba(0, 0, 0, 1)"> Image.FromStream(memoryStream);
- </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">Image image = StringToImage(pic);
- </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">显示图片到控件中</span>
- <span style="color: rgba(0, 0, 255, 1)">this</span>.pictureBox2.SizeMode =<span style="color: rgba(0, 0, 0, 1)"> PictureBoxSizeMode.Zoom;
- </span><span style="color: rgba(0, 0, 255, 1)">this</span>.pictureBox2.Image =<span style="color: rgba(0, 0, 0, 1)"> image;
- }
- }
- }
- </span><span style="color: rgba(0, 0, 255, 1)">catch</span><span style="color: rgba(0, 0, 0, 1)"> (Exception)
- {
- </span><span style="color: rgba(0, 0, 255, 1)">throw</span><span style="color: rgba(0, 0, 0, 1)">;
- }
- }</span>
学习成果展示:
好了今天就学到这了。
C#读写图片文件到Access数据库中
标签:orm ros insert gre rom byte isp sage span