mysql varbinary blob_从数据库中读取SQL Varbinary Blob
我正在努力将文件保存到sql blob到varbinary(max)列,并且现在有了保存方面的工作(我相信).
我无法弄清楚如何读取数据,因为我正在使用存储过程检索我的数据库值我应该能够访问列数据,如ds.Tables [0] .Rows [0] [ "blobData"]; 所以我有必要像我在下面的例子中看到的那样有一个SQLCommand等:
private void OpenFile(string selectedValue)
{
String connStr = "...connStr";
fileName = ddlFiles.GetItemText(ddlFiles.SelectedItem);
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT BLOBData FROM BLOBTest WHERE testid = " + selectedValue;
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
int size = 1024 * 1024;
byte[] buffer = new byte[size];
int readBytes = 0;
int index = 0;
using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None))
{
while ((readBytes = (int)dr.GetBytes(0, index, buffer, 0, size)) > 0)
{
fs.Write(buffer, 0, readBytes);
index += readBytes;
}
}
}
}
}
}
当我可以在没有sqlcommand的情况下访问我需要的列时,有更简单的方法吗?
希望我在我的问题中足够清楚,如果不是那么问我会详细说明!
更新:
现在情况如此 - 我有我的存储过程返回的blobData列的值,并且可以将其传递到内存流并调用'LoadDocument(memStream); 但是这会导致乱码文本而不是我实际显示的文件.
我现在的问题是有没有办法获得完整的路径,包括存储在SQL Blob中的文件的文件扩展名?我目前正在考虑使用Filetable,希望我能够获得完整的路径.
更新2:
我尝试创建一个临时文件并阅读这个无济于事(仍然是胡言乱语)
string fileName = System.IO.Path.GetTempFileName().ToString().Replace(".tmp", fileExt);
using (MemoryStream myMemoryStream = new MemoryStream(blobData, 0, (int)blobData.Length, false, true))
{
using (FileStream myFileStream1 = File.Create(fileName))
{
myMemoryStream.WriteTo(myFileStream1);
myMemoryStream.Flush();
myMemoryStream.Close();
myFileStream1.Flush();
myFileStream1.Close();
FileInfo fi = new FileInfo(fileName);
Process prc = new Process();
prc.StartInfo.FileName = fi.FullName;
prc.Start();
}
}
干杯,H
mysql varbinary blob_从数据库中读取SQL Varbinary Blob相关推荐
- html读mysql数据_html从数据库中读取数据
展开全部 html只能通过ajax接口跟后台数据库接口通信,然后取出来的数据在页面上显636f70793231313335323631343130323136353331333337626135示. ...
- 用jsp_servlet实现在mysql中存储图片_从数据库中读取并生成图片的Servlet
从数据库中读取并生成图片的Servlet 作者:未知 文章来源:www.jspcn.net 发布日期:2005年01月19日 作者:邵望 日期:2000-12-24 21:44:55 大体思路 ...
- js获取mysql数据库数据类型_怎么利用JS将从数据库中读取出来的日期型格式化为想要的类型...
在页面初始化时,用JavaScript将从数据库中读取出来的日期型格式化为想要的类型.格式化为yyyy年MM月dd日 HH时mm分ss秒,大家可以参考下代码,自由发挥下. 代码如下://传入从数据库中 ...
- 计算机目录读取,从项目目录中读取SQL查询文件(Read SQL query file from project directory)...
从项目目录中读取SQL查询文件(Read SQL query file from project directory) 我在Visual Studio项目中放置了3个特别大的SQL查询,位于项目目录中 ...
- mysql 数据缓冲区,MySQL写入缓冲区在数据库中的作用( Change Buffer )
原标题:MySQL写入缓冲区在数据库中的作用( Change Buffer ) 介绍另外一种重要的数据变更日志,也就是InnoDB change buffer.Change buffer的主要目的是将 ...
- php从数据库中读取特定的行
有的时候我们需要从数据库中读取特定的数据,来检验用户的输入,这个时候需要执行的sql语句是: select * from table_name where id='num'; 需要执行这样的一个语句. ...
- C# 文件保存到数据库中或者从数据库中读取文件
首先,介绍一下保存文件到数据库中. 将文件保存到数据库中,实际上是将文件转换成二进制流后,将二进制流保存到数据库相应的字段中.在SQL Server中该字段的数据类型是Image,在Access中该字 ...
- 我刚做的一个TreeView的CheckBox进行选中插入数据库,从数据库中读取数据后让CheckBox勾选的代码!...
#region 绑定角色 /// <summary> /// 绑定权限信息 /// </summary> protected void Bind ...
- php如何逐条读取数据库,php从数据库中读取特定的行(实例)
有的时候我们需要从数据库中读取特定的数据,来检验用户的输入,这个时候需要执行的sql语句是: select * from table_name where id='num'; 需要执行这样的一个语句. ...
- 基于JDBC从数据库中读取数据,在百度地图批量标注地点
基于JDBC从数据库中读取数据,在百度地图批量标注地点 一.相关技术 JSP,JDBC,JSON,JS,百度地图API 二.基于JDBC从数据库读取数据 见"JSP基于JDBC操作MSSQL ...
最新文章
- leetcode--对称二叉树--python
- LSD-SLAM解读——帧间追踪(详细推导)
- 玩玩.net的ildasm與ilasm (转)
- (转)数组指针和指针数组的区别
- 亿级别记录的mongodb批量导入Es的java代码完整实现
- 最新恶意复制型病毒及代码分析
- 实现日志文件直接导入数据库
- c#简要概括面向对象的三大特征(三)
- 用VB实现自己的邮件“自己发”
- deepin linux mac主题,deepin,安装GNOME桌面环境,类mac界面美化
- 视频教程-2020软考--网络规划设计师【综合知识】视频精讲-软考
- python爬虫之爬取招聘岗位信息
- 2021ICPC网络赛第一场【A Busiest Computing Nodes】【D Edge of Taixuan】
- TIM腾讯聊天(即时通信 IM)(咨询客服业务)
- CTF.show-mx密码2
- 五大方案,教你关于微信公众号的内容定位
- android调用系统拍照、相册
- 3D点云基础知识(一)-初始入门-知乎整理(一)
- MICCAI 2020 Challenges相关数据集下载
- 在Windows中搭建python开发环境与使用初步(适合初学者)