当前位置: 首页 > news >正文

学网站建设难/百度软件

学网站建设难,百度软件,网站没有做301的后果是什么,给别人做网站是外包公司🌮 Dapper存取Blob类型数据 前言: blob类型是数据库用于保存二进制文件的一种类型,可以将文件存储到数据库的表中。(使用到的情况比较少,毕竟文件可以直接在服务器上保存并且访问为什么要放到数据库里。但如果你服务器…

🌮 Dapper存取Blob类型数据

前言:

blob类型是数据库用于保存二进制文件的一种类型,可以将文件存储到数据库的表中。(使用到的情况比较少,毕竟文件可以直接在服务器上保存并且访问为什么要放到数据库里。但如果你服务器上空间紧张而数据库空间很宽裕的话也可以使用BLOB存储文件类型)

用例表

请添加图片描述

测试图片:

请添加图片描述

1.🚽 原生的Ado.Net 存取Blob

原生的Ado.Net存取Blob比较繁琐,

  • 存Blob类型
[Test]
public void TestOne()
{string row_id = "2023052615301302163504";using(var conn = new OracleConnection(Encrypter.DecryptAES("XXXXX","XXXX", "XXXX"))){conn.Open();OracleCommand command = new OracleCommand($@" update TB_CM_COMPANY_COST SET PDF_UPLOAD = :bb where ROW_ID = '{row_id}' ", conn);command.CommandType = CommandType.Text;FileStream fs = new FileStream($@"E:\\TestOne\\Tpic.png", FileMode.OpenOrCreate, FileAccess.ReadWrite);byte[] buffer = new byte[fs.Length];fs.Read(buffer, 0, buffer.Length);OracleBlob blob = new OracleBlob(conn);blob.Write(buffer,0,buffer.Length);command.Parameters.Add(":bb", OracleDbType.Blob).Value = blob;command.ExecuteNonQuery();}
}

插入成功如图:

请添加图片描述

请添加图片描述

  • 取Blob类型
public void TestOne()
{string row_id = "2023052615301302163504";using(var conn = new OracleConnection(Encrypter.DecryptAES("XXXX","XXXX", "XXXXX"))){conn.Open();#region 取Blobstring SelectBlob = $@"select PDF_UPLOAD from TB_CM_COMPANY_COST where ROW_ID = '{row_id}'";OracleCommand command = new OracleCommand(SelectBlob, conn);command.CommandType = CommandType.Text;OracleDataReader dataReader = command.ExecuteReader();if (dataReader.Read()){OracleBlob oracleBlob = dataReader.GetOracleBlob(0);    //从dataReader中获取Blob类型byte[] buffer = new byte[oracleBlob.Length];            //先读取oracleBlob.Read(buffer, 0, (int)oracleBlob.Length);FileStream fs = new FileStream("Pic.png", FileMode.OpenOrCreate, FileAccess.ReadWrite);fs.Write(buffer, 0, buffer.Length);                    //再写入fs.Close();}#endregion}}
}

获取成功:

请添加图片描述

2.🚀 通过Dapper获取和保存Blob类型

通过上面的例子可以看出,ADO.NET原生的方法操作blob类型需要一个OracleBlob类作为中介,通过它来获取流或是字节。然后再进行下一步的操作,如果要获取的数据比较多,则比较繁琐。

而Dapper的方法更加简单,直接用byte[]来传递二进制文件,操作则更加简单。

  • Dapper保存Blob类型
string row_id = "2023052615190002159537";
using(var conn = new OracleConnection(Encrypter.DecryptAES("XXXXXXXX","XXXXX", "XXXXX")))
{conn.Open();#endregion#region Dapper保存BlobFileStream fs = new FileStream($@"E:\\TestOne\\Tpic.png", FileMode.OpenOrCreate, FileAccess.ReadWrite);byte[] buffer = new byte[fs.Length];fs.Read(buffer, 0, buffer.Length);//直接传byte[]数组,10分甚至9分简单int res = conn.Execute($@" update TB_CM_COMPANY_COST SET PDF_UPLOAD = :bb where ROW_ID = '{row_id}' ", new { bb =  buffer});#endregion}

请添加图片描述

  • Dapper取Blob类型
byte[] buffer = conn.QueryFirst<byte[]>($@"Select PDF_UPLOAD from TB_CM_COMPANY_COST where ROW_ID = '{row_id}'", null);FileStream fs = new FileStream("XXZ.png", FileMode.OpenOrCreate, FileAccess.ReadWrite);fs.Write(buffer, 0, buffer.Length);

请添加图片描述

🚩 Tip: 如需通过ORM对象来获取Blob列,只需要将Blob列的对应类型设置为和上例中的byte[]即可。

http://www.jmfq.cn/news/5114053.html

相关文章:

  • 网站建设培训合肥/哪里有做网络推广的
  • 昆明网站建设去出发科技公司/seo推广百度百科
  • 做办公设备网站/软文投稿平台有哪些
  • 新手做站必看 手把手教你做网站/邵阳疫情最新消息
  • 企业网站备案 淘宝客/微信广告平台推广
  • 做网站维护工资多少/semester
  • 网站建设工作情况汇报/霸屏seo服务
  • 岳阳建设银行网站/seo短视频网页入口引流免费
  • xmapp怎样做网站/交友平台
  • 四川成都网站优化/seo技术培训教程视频
  • 第三方做农产品价格数据的网站/外贸怎么找客户资源
  • 沈阳免费做网站/seo网站关键词优化哪家好
  • 深圳网站制作联系电话/百度系优化
  • 大连做网站软件/搜索关键词优化服务
  • 网站制作三站/网店运营培训
  • 长宁区网站制作/搜狗站长平台验证不了
  • 泰安做网站公司哪家好/网络销售怎么才能找到客户
  • 华企立方做网站/微营销推广平台有哪些
  • 大型网站建设翻译英文/深圳网络推广优化
  • wordpress不显示某个标签/seo培训机构
  • vps正常网站打不开/河南最近的热搜事件
  • 义乌外贸网站开发/如何制作网页游戏
  • 购物网站开发设计文档/业务员用什么软件找客户
  • 做情趣网站违法吗/滕州seo
  • 福州招聘网站有哪几个/武汉关键词包年推广
  • 云盘建设网站/电商最好卖的十大产品
  • 网站宣传怎样做不违法/app渠道推广
  • 做网站找谁/各大引擎搜索入口
  • 徐家汇网站建设/网站流量分析报告
  • 网站仿站大多少钱/引擎搜索对人类记忆的影响