从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. ...
随机推荐
- Centos调出图形化的网络管理
在Linux中设置网路,图形化很方便.在命令行下/etc/sysconfig/network-scripts/ifcfg-eth0 00.命令行下修正网路 [root@dzswj-test ~]#ca ...
- (二)Linux实操之——网络配置、进程管理、服务管理、组管理、YUM
接上段 (一)Linux实操之——权限.任务调度.磁盘分区 4.网络配置 4.1 NAT模式的网络配置 目前我们采用的网络配置是NAT模式. windows下cmd通过 ipconfig 命令可以 ...
- jquery serialize对json的包装用法
jquery对象.serialize() 可以多用于表单对数据封装提交 能够收表参数,形成一个json格式字符串, 前提是:必须为每一个表单项取一个name属性 对元素 设置 name属性, 然后 ...
- Numpy库应用实例——GPS定位
背景介绍 定位系统 GPS全球定位系统(Global Positioning System)以GPS系统为例介绍卫星定位的计算方法 GPS定位的基本原理 GPS定位的基本原理是根据高速运动卫星的 ...
- ASP.NET中UrlEncode应该用Uri.EscapeDataString()
今天,茄子_2008反馈他博客中的“C++”标签失效.检查了一下代码,生成链接时用的是HttpUtility.UrlEncode(url),从链接地址获取标签时用的是HttpUtility.UrlDe ...
- 图解最小生成树 - 克鲁斯卡尔(Kruskal)算法
我们在前面讲过的<克里姆算法>是以某个顶点为起点,逐步找各顶点上最小权值的边来构建最小生成树的.同样的思路,我们也可以直接就以边为目标去构建,因为权值为边上,直接找最小权值的边来构建生成树 ...
- Decorator - 装饰模式
1. 概述 若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性.如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继 ...
- C# GridView 给某行或某列绑定点击事件和鼠标事件
protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType = ...
- starUML破解方法(Windows10 & MAC)
安装好,打开安装目录,依次找到[www\license\node],找到名为[LicenseManagerDomain]的js文件,打开它,在第25行位置插入以下几句代码: return { name ...
- mysql 查看是否被锁
SHOW OPEN TABLES FROM huahua