从sql中image类型字段中导出图片
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data.SqlClient;
using System.Data;
using System.Drawing.Imaging;
using System.Drawing; namespace 获取名字
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\Chinaese\Desktop\_FabricImg";
string x = Path.GetFileName(Path.GetDirectoryName(path)); DirectoryInfo root = new DirectoryInfo(path);
// DirectoryInfo[] childDirs = root.GetDirectories();
FileInfo[] files = root.GetFiles();
List<string> filename = new List<string>();
foreach (FileInfo item in files)
{
filename.Add(Path.GetFileNameWithoutExtension(item.FullName));
} string connectionString=@"Data Source = 192.168.0.180; Initial Catalog = pms; User Id = sa; Password = hualong2012;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand("SELECT FlowerCode,PicImg FROM FlowerPics where flowerid IN ( SELECT MAX(flowerid) AS Expr1 FROM FlowerPics GROUP BY FlowerCode )", connection);
connection.Open(); SqlDataReader reader = command.ExecuteReader(); // 判断数据是否读到尾.
while (reader.Read())
{
//声明数组,用于保存数据库的二进制数据
byte[] mybyte = null;
//读取数据保存到数组中
try
{
if (filename.Contains(reader[0]))
{
continue;
}
mybyte = (byte[])reader["PicImg"];
Image image;
//读取数组数据成为文件流
MemoryStream mymemorystream = new MemoryStream(mybyte);
//转换成为图片格式。
image = Image.FromStream(mymemorystream, true); //image.Save(mymemorystream, ImageFormat.Jpeg);
image.Save(@"C:\Users\Chinaese\Desktop\SAMP\" + reader[0].ToString() + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
mymemorystream.Close(); //关闭流
filename.Add(reader[0].ToString()); }
catch (Exception)
{ //break;
}
finally
{ } //Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1]));
} // 一定要关闭 reader 对象.
reader.Close();
} Console.ReadKey(); }
}
}
从sql中image类型字段中导出图片的更多相关文章
- ORACLE中date类型字段的处理
(1)在英文版本的ORACLE中默认日期格式为'DD-MON-YY',例如'01-JAN-98' 在汉化的中文版本中ORACLE默认日期格式为'日-月-年',例如'21-8月-2003'或'21-8月 ...
- C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法
原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 本人新手,在.Net中写WebAPI的时候,当接口返回的json数据含有日期时间类型的字段时, ...
- 判断DataTale中判断某个字段中包含某个数据
// <summary> /// 判断DataTale中判断某个字段中包含某个数据 /// </summary> /// <param name="dt&quo ...
- SQL Server中TEXT类型字段值在数据库中追加字符串方法
在数据上我们往往会遇到ntext大文本类型,这种类型如果和 nvarchar类型相加会出现问题,所以有一中方法可以解决这种问题. 使用的sql 函数: TEXTPTR:返回要更新的 text.nt ...
- SQL Server 中BIT类型字段增删查改那点事
话说BIT类型字段之前,先看“诡异”的一幕,执行Update成功,但是查询出来的结果依然是1,而不是Update的2 当别人问起我来的时候,本人当时也是处于懵逼状态的,后面联想具体的业务突然想起来这个 ...
- 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题
今天在做项目过程中,查询一个表中数据时总碰到这个问题: java.sql.SQLException:Value '0000-00-00' can not be represented as ...
- .Net处理Oracle中Clob类型字段总结
最近在做项目中用到Clob这个字段,Clob是存储无限长字符的Oracle字段,用的时候网上找资料找了好久,内容不是很多,大部分都不能用,当然也有可以用的,测试了不同版本,整理了一下,给大家在做项目的 ...
- MSSQL数据库中Text类型字段在PHP中被截断之解 (转)
在PHP中使用了MSSQL数据库,恰巧数据库中又使用了Text类型字段,于是问题产生了.每次从数据库中查询得到的数据总是被莫名的截断,一开始是以为我使用的PHP框架中对字符串的长度有所限制,后来发现这 ...
- 往MySQL数据库datetime类型字段中插入数据库的当前时间
代码: StringBuilder sb = new StringBuilder(); sb.append(" insert into uosdetailfile ("); sb. ...
随机推荐
- hibernate4无法保存数据
hibernate4无法保存数据 author: hiu 以后都发文章我都备注一下作者了,hiu就是我了 红色字体更新日期:2014-07-08 初次使用hibernate4,使用getCurrent ...
- 原创:【微信小程序】发送消息模板教程(后台以PHP示例)
1.本教程对外开放,未经博主同意,禁止转载. 2.准备材料:1)公众号|小程序,添加选择的模板消息,2)在设置>开发设置页面,开通消息模板功能:如: 3.因为调用微信发送模板的接口是:https ...
- 去掉cb中括号的匹配
Settings->Editor->General settings->Indent options->Brace completion``
- JavaScript 中定义变量时有无var声明的区别
关于JavaScript中定义变量时有无var声明的区别 var a=5; //正确 a=5; //正确 在javascript中,以上两种方法都是定义变量的正确方法.微软的Script56.CHM中 ...
- 转:使用Mosquitto-Auth-Plugin对mqtt客户端进行验证
https://www.lixiaodong.com/?p=1631.安装需要的包sudo apt-get install libc-ares-dev libcurl4-openssl-dev lib ...
- PLSQL_标准删除的方式Delete/Drop/Truncate区别和比较(概念)
2014-06-02 Created By BaoXinjian
- 如何生成KeyStore
介绍如何生成keystore cmd下: 进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下,签名的时候我们需要这个文件. C:\Program Files\ ...
- Dynamic DMA mapping Guide
一.前言 这是一篇指导驱动工程师如何使用DMA API的文档,为了方便理解,文档中给出了伪代码的例程.另外一篇文档dma-api.txt给出了相关API的简明描述,有兴趣也可以看看那一篇,这两份文档在 ...
- Python hex() 函数
描述 hex() 函数用于将10进制整数转换成16进制整数. 语法 hex 语法: hex(x) 参数说明: x -- 10进制整数 返回值 返回16进制整数. 实例 以下实例展示了 hex 的使用方 ...
- vim-snipmate的c.snippets(2016.7.10)
## Main # main snippet main int main ( void ) { ${} ; } ##include snippet inc #include <${:stdio} ...