使用 C# 创建的图像 - 如何通过 SQL 将它们插入到 BLOB 中

2023-12-03

假设我捕获屏幕截图。有我的代码

int sWidth = 1600, sHeight = 1200;

Bitmap B_M_P = Bitmap(sWidth, sHeight);

Graphics gfx = Graphics.FromImage((Image)B_M_P);
gfx.CopyFromScreen(0, 0, 0, 0, new Size(screenWidth, screenHeight));            

B_M_P.Save("img.jpg", ImageFormat.Jpeg);

我不想将其保存到图像中,而是希望能够将其发送到我的 SQL 或 MySQL 并将它们作为 BLOB 存储在数据库中。

我知道LINQ以及查询数据库。我不知道的是中间部分。

  • 什么样的Data Type将用于 INSERT 到 BLOB 列中,我的 我猜这将是一个Byte[]?

如果它是一个“字节”,那么转换非常容易。

ImageConverter imgc = new ImageConverter();
Byte[] temp = (byte[])imgc.ConvertTo(B_M_P,typeof(byte[]));

以便之后我可以准备我的查询

"INSERT INTO EMPLOYEE (pic) VALUES ('"+temp+"');"
  • 如果没有那么类型是什么 & 如何转换

您是正确的,您只需将其转换为字节数组即可。表的数据类型应该是变量二进制(最大).

请注意,有一个Image数据类型,但该数据类型将在 Microsoft SQL Server 的未来版本中删除,因此 Microsoft 建议每个人都切换到 VarBinary 以实现未来的兼容性。


BLOB 和 VarBinary(max) 是同一件事。从了解 SQL Server 2005 中的 VARCHAR(MAX)

为了解决这个问题,微软推出了VARCHAR(MAX), SQL Server 2005 中的 NVARCHAR(MAX) 和 VARBINARY(MAX) 数据类型。 数据类型可以容纳与 BLOB 可以容纳的数据量相同的数据 (2 GB) 它们存储在用于其他数据的相同类型的数据页中 类型。当MAX数据类型的数据超过8KB时,就会出现溢出页 用过的。 SQL Server 2005 自动分配一个溢出指示器 页面并知道如何以与它相同的方式操作数据行 操作其他数据类型。您可以声明 MAX 数据的变量 存储过程或函数中的类型,甚至将它们传递为 变量。您还可以在字符串函数中使用它们。

Microsoft 建议在 SQL Server 2005 中使用 MAX 数据类型而不是 BLOB。事实上,BLOB 在未来版本中已被弃用。 SQL 服务器。

That Image我在顶部提到的数据类型是旧式 BLOB 数据类型的一个示例。


这是代码应该如何写的示例

using(var cmd = SqlCommand("INSERT INTO EMPLOYEE (pic) VALUES (@pic);", connection)
{
    cmd.Parameters.Add("@pic", temp);
    cmd.ExecuteNonQuery();
}

但是,如果您正在处理大文件,则会出现一些问题,请参阅这个答案及其深入研究在数据库中存储大型数据对象的链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 C# 创建的图像 - 如何通过 SQL 将它们插入到 BLOB 中 的相关文章

随机推荐

  • 将项目从 SQL 表插入 bootstrap-dropdown

    我正在开发 asp net 项目 我的代码背后的语言是 c 我有一个引导下拉列表 我想从 SQL 表中获取项目 有没有人可以在这方面帮助我 提前致谢 li class nav item dropdown a class btn btn li
  • durandal 优化器在 Visual Studio 中将其构建为构建后过程时引用了错误的路径

    我在 Visual Studio 中设置了一个构建后事件 以使用 durandal 的优化器 使用 Nodejs 来构建用于生产的 main built js 文件 收到错误消息说找不到 main built js 我相信这是因为它没有正确
  • 使用 ELMAH 配置自定义授权

    如何在没有默认 ASP NET 授权角色管理器的情况下将 ELMAH 配置为仅向某些人员显示 我 以及我认为的许多其他人 使用自己的授权逻辑并从零开始构建我的项目 而不使用提供的模板 我想记录错误 但似乎不可能配置 ELMAH 以某种方式覆
  • YouTube 嵌入上的播放按钮在 android-chrome 上不起作用

    我一直在页面上制作嵌入的 YouTube 视频 在桌面浏览器上运行良好 但是 在 android chrome 上 当您触摸中心的红色播放按钮时 嵌入的视频将不会播放 当你触摸播放按钮外面时 它确实可以正常播放 这很奇怪 我的客户也在 iP
  • 在 Mapbox 中使用 Leafletjs MarkerClusterGroup 和过滤器时出现问题

    我尝试过 Mapbox 及其 API 来创建交互式地图 目的是获取 geojson 文件中的点 并将其显示在地图上 它们必须通过标记图标进行过滤 并根据所应用的缩放进行分组 我在使用 MarkerClusterGroup 插件与 leafl
  • JavaScript 沙箱:隐藏给定范围内的全局变量

    我想创建一个 HTML JS 环境 用户可以在其中输入并运行任意 JavaScript 代码 这些代码将在给定监狱对象的上下文中执行 我已经设置了一个游乐场来说明我到目前为止所拥有的 这个做得相当不错 Basic evaluation wo
  • ASP / 获取行和计数

    为了增强性能和资源 我刚刚开始在一些脚本上使用 getRows 我刚刚遇到一个问题 想请教一下 我这样做是为了获取记录集并获取计数 If NOT rs EOF Then arrResultSet rs GetRows arrRowCount
  • java文本字段中的数据可以在没有数据库交互的情况下发送到jasper报表吗?

    我们正在使用 netbeans 用 java 开发一个桌面应用程序 我们已经安装了 Netbeans 的 jasper 报告 并且能够根据数据库中的数据设计报告 有一个表格 我们想要打印而不将数据存储在数据库中 我们可以将表单数据发送到ja
  • 如何使用 initSelection 附加 jquery select2 值

    这是我使用 ajax 进行的 select2 多重选择 最初我在 initselection 中设置一些值 如下所示 initSelection function element callback var data id 4 zipcode
  • 对引用程序集中的类进行 GetType 失败

    我有一个引用域项目的 asp net Web 项目 在 Web 项目中 我想使用反射从域项目创建类的实例 但我总是得到 null 在 VB 中什么也没有 注意 我使用的是非完全限定的类名 并希望按照 MSDN 似乎指示的那样执行搜索 在程序
  • 如何在不使用 vba 创建 Internet Explorer 对象的情况下解析 html?

    我工作的任何计算机上都没有 Internet Explorer 因此创建 Internet Explorer 对象并使用 ie navigate 解析 html 并搜索标签是不可能的 我的问题是 如何在不使用 IE 的情况下自动将带有标签的
  • 使用芬威克树或 BIT 的数组中非递减子序列的最大和

    我们如何使用芬威克树找到数组中非递减子序列的最大和 例如我们有 1 4 4 2 2 3 3 1 这里非递减子序列的最大和是 11 1 2 2 3 3 可以使用动态规划算法找到最大和 扫描数组并将每个元素的值添加到有效的最大子序列和 子序列以
  • 使用 Python Paramiko 使用多个连接/线程将大文件上传到 SFTP 服务器

    我正在尝试使用线程和 python paramiko 库将文件分块 SFTP 到远程服务器 它在不同的线程中打开本地文件和 sftp 块到远程服务器 我基本上遵循这个解决方案 它使用相同的方法通过 SFTP 下载大文件 我想改为发送大文件
  • vim 在特定字母上按“enter”

    我想在文件中的箭头符号上按 Enter 键 基本上 按下 Enter 键后 箭头键会折叠以显示更多文本 我有很多这样的方向键 wp filter array 365 wp filter pre term name array 2 彻底崩溃后
  • Firebase:如何从外部数据库读取?

    我在另一台服务器上的 PostgreSQL 中有一些数据 我需要读取这些数据以将其包含在我的 Firebase 应用程序中 然后渲染图表 我只有数据库连接字符串 没有端点可以返回该数据 我会限制在 Firebase 上使用身份验证和角色输入
  • 计算图的关键路径

    对于图论作业 我要求计算 s 关键路线以及项目的时间松弛 格式如下 入口 输入的第一行是一个整数 C 它表示测试用例的数量 对项目活动进行建模的图表 每个测试用例的第一行分别包含两个整数N和M 其中N代表项目中的节点数和活动量M 然后是m行
  • 比较熊猫不同年份的同一天

    我是一个新手 仍在试图弄清楚 Pandas 拆分 应用 组合才刚刚开始有意义 但我还没有做到 我正在尝试获取前几年 2013 2015 同一天的历史最高和最低销售电话号码 然后用另一列告诉我 2016 年电话销售高于之前高点或低于之前低点的
  • 复制 C++ 抽象类

    好的 这是一些代码 include
  • iPhone SDK:URL请求未超时

    我遇到了网络请求应该超时的问题 但该方法未被调用 请求如下 define kCONNECT TIMEOUT 20 0 request NSMutableURLRequest requestWithURL aUrl request setHT
  • 使用 C# 创建的图像 - 如何通过 SQL 将它们插入到 BLOB 中

    假设我捕获屏幕截图 有我的代码 int sWidth 1600 sHeight 1200 Bitmap B M P Bitmap sWidth sHeight Graphics gfx Graphics FromImage Image B