【问题标题】:Insert image query in sql server [duplicate]在sql server中插入图像查询[重复]
【发布时间】:2014-12-09 00:48:27
【问题描述】:

我有一张这样的桌子。

 myID   Name     Pic
   1     Shan    
   2     Sharon 

myId 列是整数类型,Name 是 varchar(10),pic 是图像数据类型的类型。我正在使用 SQL Server。

在正常的插入过程中,如果您没有数据类型“图像”的列名,我知道插入将如下所示。

      INSERT INTO myTable
      VALUES (1,Shan);

如何插入图像数据类型列如何选择文件。如何将插入查询写入具有图像数据类型列的表?

提前致谢。

【问题讨论】:

  • @bummi 列类型不是二进制或 blob,它是图像数据类型。
  • 它们都是二进制存储的 ntext, text, and image if (Select CAST(PICAsImage as Varbinary(max)) from PICS where ID=1) = (Select PICAsVarBinary from PICS where ID=2) print 'true' 如果通过 OPENROWSET(BULK 加载相同的图像,则将打印 true
  • @bummi 我不想要一个强制的答案,我只是问了一个简单的查询,如果可以的话,有一个简单的解释。我不明白你在说什么。我只是想知道如何设置图像的文件路径。
  • 它显示在上面链接的 then 问题的答案中 stackoverflow.com/a/4711255 image 是一个已弃用的字段,行为与 Varbinary (max) 相同
  • @bummi 我看过那个答案,为什么那里有那个 SELECT 语句,你能指出一个详细的解释,或者一个正在解释的教程。

标签: sql sql-server sql-insert


【解决方案1】:

1.使用您的图像文件创建 FileStream。

2.创建长度为FileStream.Length的字节数组。

3.将此字节数组用作您的 Pic 列的值。

这是关于代码项目的好文章 - http://www.codeproject.com/Articles/354639/Storing-and-Retrieving-Images-from-SQL-Server-Us

我能想到的另一个解决方案是,您只需存储图像文件的绝对磁盘路径。您只需添加 nvarchar 类型的列并将其用于路径。

【讨论】:

  • 感谢本教程为我提供了有关如何在代码中创建概念的基本概念。再次感谢。
猜你喜欢
  • 2014-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多