mysql varbinary blob_从数据库中读取SQL Varbinary Blob

mysql varbinary blob_从数据库中读取SQL Varbinary Blob我正在努力将文件保存到 sqlblob 到 varbinary max 列 并且现在有了保存方面的工作 我相信 我无法弄清楚如何读取数据 因为我正在使用存储过程检索我的数据库值我应该能够访问列数据 如 ds Tables 0 Rows 0 blobData 所以我有必要像我在下面的例子中看到的那样有一个 SQLCommand 等 privatevoidO strin

我正在努力将文件保存到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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211034.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午11:20
下一篇 2026年3月18日 下午11:21


相关推荐

  • 精进Spring—Spring中定时器实现

    在一些工作需要使用到定时器,Spring很好的集成了定时器的功能! 在Spring 中使用Quartz,本文介绍Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,

    2022年3月1日
    47
  • AspNetPager组件

    AspNetPager组件UrlPaging=”false”NumericButtonTextFormatString=”[{0}]”CustomInfoHTML=”第%CurrentPageIndex%页共%PageCount%页显示%StartRecordIndex%-%EndRecordIndex%条”                                   ShowCusto

    2025年7月31日
    8
  • c语言null和nullptr,nullptr与NULL

    c语言null和nullptr,nullptr与NULL在 C 语言中 我们使用 NULL 表示空指针 它实际上是一个宏 具体被定义为 C 语言程序 defineNULL void 0 defineNULL0 两者皆可 注 因为在 C 语言中 是允许 void 指针隐式转换为其它类型指针的 所以 defineNULL void 0 这样的定义不会有问题 C 语言出现后 为了保持对 C 语言的兼容 保

    2026年3月16日
    2
  • mysql datetime格式化日期(日期格式化)

    Mysql日期格式化查询问题写sql语句时发现怎么都查不出来数据,后来发现数据格式化后和前台传入的数据格式不一样。前台传入数据格式‘2018-11-5’原先sql查询语句(mybatis中)SELECTcount(*)count,a.store_idstoreid,DATE_FORMAT(a.timeone,’%Y-%m-%d’)mytime,s.abbrev…

    2022年4月13日
    119
  • python中多个if语句用法_if语句的用法

    python中多个if语句用法_if语句的用法python中if语句用法以下实例通过使用if…elif…else语句判断数字是正数、负数或零:推荐:《python教程》实例(Python3.0+)#Filename:test.py#authorby:www.php.cn#用户输入数字num=float(input(“输入一个数字:”))ifnum>0:print(“正数”)elifnum==…

    2026年4月14日
    12
  • 硬编码和软编码

    硬编码和软编码计算机科学中 只有硬编码 hardcode 以及非硬编码 有人也成为 软编码 硬编码和软编码的区别是 软编码可以在运行时确定 修改 而硬编码是不能够改变的 java 小例子 inta 2 b 2 硬编码 if a 2 returnfalse 非硬编码 if a b returntrue 就是把数值写成常量而不是变量 一个简单的版本

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号