SQL Server 2008:如何在表中的每个条目插入一个图像?

时间:2010-11-03 18:59:24

标签: sql-server image blob

在我的SQL Server Management Studio 2008项目中,我创建了一个名为

的表
Catalog (
    catalogId NOT NULL PRIMARY KEY, 
    catalogName VARCHAR(20), 
    CatalogImage VARBINARY(MAX)
    ) 

有3个条目:

catalogId | catalogName | catalogImage
    1     |     jon     |     NULL
    2     |     jim     |     NULL
    3     |     joe     |     NULL

我希望在表格中为每个条目添加一个图像。 以下用于插入图像的查询,例如jon:

INSERT INTO Catalog (catalogImage)
SELECT BulkColumn FROM OPENROWSET( Bulk 'C:\images\jon.bmp', SINGLE_BLOB) AS BLOB
WHERE catalogId=1

生成错误消息“无效的列名'catalogId'。

什么是正确的查询?

非常感谢您提前, 格雷格

2 个答案:

答案 0 :(得分:6)

由于您已经有条目使用UPDATE而不是INSERT

UPDATE Catalog SET catalogImage = 
(SELECT BulkColumn FROM OPENROWSET( Bulk 'C:\images\jon.bmp', SINGLE_BLOB) AS BLOB)
WHERE catalogId=1

(未经测试)

答案 1 :(得分:3)

看起来您想更新行而不是插入新行。尝试(未经测试):

UPDATE Catalog set catalogImage = (SELECT BulkColumn FROM OPENROWSET( Bulk 'C:\images\jon.bmp', SINGLE_BLOB) AS BLOB) WHERE catalogId = 1