c#操作sql中存取图片image

C#存取SQL Server数据库之一:二进制存取图片文件 创建项目1.      添加一个名为RWTest的表到 SQL Server MYTest 数据库。 表字段设置如下:  a.      唯一标识字段名称为"ID",类型为Int。  b.       名称为"Description"的VarChar类型的字段,字段长度为50。  c.      名称为"ImgField" 的Image 类型的字段。 2.      启动 Vi 阅读详情
c#在 sql数据库中存取图片image示例。

(1)控制台应用程序下演示插入图片

复制代码代码如下:
public void InsertIMG()
{
//将需要存储的图片读取为数据流
FileStream fs = new FileStream(@"E:\c.jpg", FileMode.Open,FileAccess.Read);
Byte[] btye2 = new byte[fs.Length];
fs.Read(btye2 , 0, Convert.ToInt32(fs.Length));
fs.Close();

using (SqlConnection conn = new SqlConnection(sqlconnstr))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "insert into T_Img(imgfile) values(@imgfile)";
SqlParameter par = new SqlParameter("@imgfile", SqlDbType.Image);
par.Value = bt;
cmd.Parameters.Add(par);

int t=(int)(cmd.ExecuteNonQuery());
if (t > 0)
{
Console.WriteLine("插入成功");
}
conn.Close();
}
}

(2)控制台应用程序下读出并生成图片到物理位置

复制代码代码如下:

public void Read()
{
byte[] MyData = new byte[0];
using (SqlConnection conn = new SqlConnection(sqlconnstr))
{ // www.jbxue.com
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from T_img";
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
MyData = (byte[])sdr["ImgFile"];//读取第一个图片的位流
int ArraySize= MyData.GetUpperBound(0);//获得数据库中存储的位流数组的维度上限,用作读取流的上限

FileStream fs = new FileStream(@"c:\00.jpg", FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(MyData, 0, ArraySize);
fs.Close();   //-- 写入到c:\00.jpg。
conn.Close();
Console.WriteLine("读取成功");//查看硬盘上的文件
}
}

(3)Web下picshow.aspx页将图片读取出来并写入到浏览器上呈现

复制代码代码如下:
public void Read()
{ // www.jbxue.com
byte[] MyData = new byte[0];
using (SqlConnection conn = new SqlConnection(sqlconnstr))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from T_img";
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
MyData = (byte[])sdr["ImgFile"];
Response.ContentType = "image/gif";
Response.BinaryWrite(MyData);
conn.Close();
Response.Write("读取成功");
}

(4)在web中可以如上picshow.aspx页面读取并显示图片,而真正引用该图片时如下示例

复制代码代码如下:

<img src="picshow.aspx" width="500" height="300" />

 (5)Winform下将图片写入到sql数据库image类型字段中的方法和以上方法基本一致,仅区别于可以利用多个对话框来帮助选取存储图片等,各个属性可以方便的利用上

(6)Winform下读取图片在picturebox控件中显示出来

方法一:利用MemoryStream 和System.Drawing.Image

复制代码代码如下:

public void Read()
{
byte[] MyData = new byte[0];
using (SqlConnection conn = new SqlConnection(sqlconnstr))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from T_img";
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
MyData = (byte[])sdr["ImgFile"];

MemoryStream mystream = new MemoryStream(MyData);
//用指定的数据流来创建一个image图片
System.Drawing.Image img = System.Drawing.Image.FromStream(mystream, true);

System.Windows.Forms.PictureBox picbox = new PictureBox();
picbox.Image = img;
picbox.Left = 30;
picbox.Top = 80;
picbox.Width = 800;
picbox.Height = 500;
this.Controls.Add(picbox);

mystream.Close();
conn.Close();
}
}

方法二:将流直接读取成图片并写入到物理位置,然后再行利用该图片呈现

复制代码代码如下:

void Read()
{
using (SqlConnection conn = new SqlConnection(sqlconnstr))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from T_img";
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();

byte[] Image_img = (byte[])sdr["ImgFile"];
if (Image_img.Length == 0)
{
return;
} // www.jbxue.com
int filelength = Image_img.Length;
string imageName = "1.jpg";
string myUrl = Environment.CurrentDirectory + "\\" + imageName;
FileStream fs = new FileStream(myUrl, FileMode.OpenOrCreate,FileAccess.Write);
BinaryWriter BW = new BinaryWriter(fs);
BW.BaseStream.Write(Image_img, 0, filelength);
BW.Flush();
BW.Close();
System.Windows.Forms.PictureBox picbox = new PictureBox();

//为picbox添加图片方法一
//picbox.ImageLocation = myUrl;
//picbox.Width = 800;
//picbox.Height = 300;

 

//为picbox添加图片方法二
Bitmap bitmap = new Bitmap(myUrl);
picbox.Width = 100;//bitmap.Width;
picbox.Height = 80;//bitmap.Height;
picbox.Image = (Image)bitmap;
picbox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
picbox.Left = 20;
picbox.Top = 30;

this.Controls.Add(picbox);
conn.Close();

}
}

C#实现图片到数据库的存取 按:在某些情况下,项目要求将图片以二进制形式存入数据库中,这与将图片的链接存入数据库是不同的。本段代码使用C#实现了图片到SQL SERVER 2005数据库的存取的功能。值得注意的是,图片与数据流的转换,数据流与二进制的转换,任何一次的转换稍有问题,都有可能导致存储或者读取的数据出现问题。在存储部分的代码中,有两条语句(已注释),貌似实现了数据流到二进制的转换,也能够存入数据库,但读取的时候会发 阅读详情

相关推荐

C#操作SQL Server中的Image类型数据

C#操作SQL Server中的Image类型数据 C#操作SQL Server中的Image类型数据 C#操作SQL Server中的Image类型数据 C#操作SQL Server中的Image类型数据 详细介绍请参考: http://blog.youkuaiyun.com/andrew_wx/article/details/6750135

C#操作 SQL的 Image字段

(1)控制台应用程序下演示插入图片public void InsertIMG()        {            //将需要存储的图片读取为数据流            FileStream fs = new FileStream(@"E:/c.jpg", FileMode.Open,FileAccess.Read);            Byte[] btye2 = new

迷糊 的专栏 3142

C#如何操作SQL中的Image类型数据

C#如何操作SQL中的Image类型数据 资源很棒的哦 大家快来下吧 属于个人珍藏的哦 谢谢大家了

水晶报表图片不显示两种问题分析及解决方法

水晶报表布置后里面的图片不显示的情况,分两种:一是:水晶报表工具栏上的图片不显示;二是:水晶报表中的的图片对象不显示,接下来将分别介绍解决方法,感兴趣的朋友可以了解下啊

CTFHUB------XSS反射型(WP)

文章目录前言XSS测试平台 前言 一开始我直接在上面写js脚本发现出错,最后发现只能通过下面的输入框来执行XSS测试,于是我们只能用XSS测试平台解决问题 XSS测试平台 注册一个XSS测试平台 这里随便填写 勾选默认模块就够了,点击下一步 这时会出现一个找个将代码复制 拼接到网站后缀name后面,点击send 这时平台会收到一个记录点开即可 得到flag ...

Y4tacker的博客 1万+

8、图片的上传与读取

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using ...

weixin_30329623的博客 94

Unity插件——WebView内嵌网页/浏览器插件

一、相关插件: 1、Embedded Browser 插件(文件夹名ZFBrowserUnity) 2、UniWebView插件 3、UnityAndroidWebviewToTexture插件 4、3D WebView for Android插件 二、遇到的问题: 3D WebView显示问题 项目中使用3D WebView存在的问题 三、插件使用 Embedded Browser 加载页面的使用

青岚岁叶的博客 1万+

C#在SQl中存取图片image

C#在SQl中存取图片image (1)控制台应用程序下演示插入图片 public void InsertIMG()         {             //将需要存储的图片读取为数据流             FileStream fs = new FileStream(@"E:\c.jpg", FileMode.Open,FileAccess.Read);

知识贵在分享 1150

基于OFDM的实时图像传输系统MATLAB仿真:MPSK与MQAM调制性能对比与误码率分析

本文详细介绍了基于OFDM的实时图像传输系统在MATLAB中的仿真实现,重点对比了MPSK与MQAM调制方式的性能差异与误码率分析。通过搭建OFDM系统模型,探讨了QPSK和16QAM在不同信道条件下的表现,包括频谱效率、抗噪能力和误码率等关键指标。文章还提供了MATLAB代码示例和实用技巧,帮助读者快速掌握OFDM图像传输系统的核心算法与优化方法。

weixin_29064009的博客 355

TensorRT量化校准数据集选择

在TensorRT中进行INT8量化时,校准数据集的选择至关重要,直接影响量化后模型的精度和推理性能。这是一个典型的问题。

浩瀚之水的专栏 497

在sql server中实现图片的存入和读取

首先提醒一下,无论是将图片存入数据库,还是从数据库中读取,都是采用流的形式进行,虽然,在数据库中,存储图片的类型是Image,但是sql中的Image和C#中的Image不一样,就如同sql中的null的判断在C#中得用DBNULL来判断 先看窗体设计,很简单,一共就五个控件,名字都没改,pictureBox1,textBox1,button1,button2,button3(依次从上到下,从左到右),看源码的时候会看到的 数据库中表的设计 就一个Image 首先程序运行,可以先选择一张图片 文本框中

断点_C的博客 1万+

Uniapp返回上一页并刷新:亲测有效的 goBack 实现技巧!

这个技巧在实际开发中非常常用,特别适合表单提交后返回列表刷新这类场景。比起依赖onShow或复杂的vuex状态同步,这种方式更直接、好维护,也不容易出 bug。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1841

C#+SQL Server图片存取

利用数据库存取图片是数据库应用系统开发时的一项基本功能需求。目前为实现该功能,主要有两种方法。方法①:在数据库中只存放图片路径。方法②:图片转为二进制流保存Image类型的字段里。 第一种方法固然简单,容易实现,但在实际中也存在一个问题。数据库中存储的是某图片的路径,那么对应的在该路径所对应的文件夹里就应该存放有该图片文件。而我们在使用计算机时,经常有更改文件名、移动、删除文件等操作,...

196

鸢尾花分类预测

鸢尾花数据总用有150个样本,是一个典型的分类数据集,共有3个类别,分别是山鸢尾(Iris-setosa)、变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica),每个样本的特征有4列sepal_length:萼片长度sepal_width:萼片宽度petal_length:花瓣长度petal_width:花瓣宽度这里我们定义了随机森林模型作为实例,来进行模型训练,之后我们会对其使用网格搜索找到最优的参数。

优快云 精品推荐 2188

基于 YOLOv26 的高速抛物识别系统:微小目标检测

本文提出了一种基于YOLOv26的高速抛物识别系统,专注于微小目标检测。系统采用多模块协同架构,包括视频预处理、YOLOv26检测、目标跟踪和抛物行为分析等模块。关键技术包括YOLOv26s模型检测、DeepSORT目标跟踪和边缘计算部署。通过构建包含多种抛物类型的专业数据集,并应用数据增强技术提升模型性能。系统实现了车辆检测、微小抛物目标识别、抛物轨迹分析和风险等级评估等功能,可实时检测高速公路上的抛物行为并触发告警,为交通管理提供智能化解决方案。

一键难忘的博客 632

C#代码在SQL Server中存取图片

首先,数据库中存放图片的字段必须为Image类型。 一、图像插入到数据库 以下代码为示意将图片插入到数据库中的操作,图片字段为Material //从上传控件中得到表示图片的字节流 Byte[] be = this.FileUpload1.FileBytes; //执行SQL,插入一条包括图片的记录,图片字段暂不写入数据 string sconn = "D...

weixin_30634661的博客 370

6.8 点云相关软件——CoProcess

摘要 CoProcess是华测导航研发的三维点云全流程处理平台,支持海量数据浏览、编辑及多类型成果输出,适配地形测绘、道路建设等行业需求。软件采用模块化设计,包含基础功能(数据导入、分类、建模等)和行业定制模块(地形、道路、矿山等),支持多格式数据交互与自动化处理,显著提升作业效率。相比Lidar360,CoProcess操作更简便、性价比更高;相比开源工具CloudCompare,其行业适配性与专业功能更优。2025版本优化了数据处理性能与智能算法,需授权激活高级功能,适合商业项目应用。

qq625924821的博客 248

C#数据库存取图片

 SqlConnection conn=new SqlConnection(@"data source=chenyuming2004VSdotNET;uid=sa;pwd=cym;database=lhf");conn.Open();SqlCommand cmd=new SqlCommand("insert into fuser values (1a,1b,@i)",conn);b

xm008的专栏 1128

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

用C#实现在SQL Server中存取图片、文件

用C#实现在SQL Server中存取图片、文件 //ConnectionString  连接字符串   public void SaveDataIntoDatabase(string FilePath,string ConnectionString)  { 字串1   if(File.Exists(FilePath)==false)   {    MessageBox.S

WYZSC的专栏 957

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

C#与sql进行图片存取

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;us...

zls365365的博客 244

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C# SQL Server数据库图片存取

数据库字段 界面结构 C#代码 存入数据库 string connString = "initial catalog=Picture;Server=(local);user id=molihuan;password=123456";//数据库连接字符串 private void cun_Click(object sender, EventArgs e) { openFileDialog1.Filter = "*jpg|*.JPG|*

molihuan的博客 1907

C# Image的存取

Code //存: publicvoidaddphoto2(stringfile) { //将文件名为file的文件读入到buffer中 System.IO.FileStreamstream=newSystem.IO.FileStream(file,System.IO.FileMode.Open,System.IO.FileAccess.Read); ...

406

asp.net(c#)实现从sql server存取二进制图片

asp.net(c#)实现从sql server存取二进制图片 有一个员工表Employee,需要保存员工照片(Photo)到数据库(sql server)上。员工照片对应的字段是varbinary(max),也就是要存成二进制文件类型(这和以前讨巧地存图片文件路径就不相同了),默认可以为空。下面说说主要实现思路:1、存取图片(1)、将图片文件转换为二进制并直接存进sql server C...

weixin_34128237的博客 353
上一篇: Python break语句详解
下一篇: C#操作图片读取和存储SQLserver
my_baby_2009
博客等级 码龄14年 31粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值