Sql server 如何在sql中向表中添加图片(带参数)
我的代码如下:Sql server 如何在sql中向表中添加图片(带参数),sql-server,image,stored-procedures,Sql Server,Image,Stored Procedures,我的代码如下: CREATE PROCEDURE USP_AddUser @Name Nvarchar(50), @LastName Nvarchar(50), @PictureAddress nvarchar(50) As Begin Insert tbl_Users(Name, LastName, Picture) Select @Name, @LastName, BulkColumn From
CREATE PROCEDURE USP_AddUser
@Name Nvarchar(50),
@LastName Nvarchar(50),
@PictureAddress nvarchar(50)
As
Begin
Insert tbl_Users(Name, LastName, Picture)
Select
@Name, @LastName, BulkColumn
From
OpenRowSet(Bulk 'c:\s.jpg', single_blob) as img
End
这段代码很有效,但当我将图像地址更改为@PictureAddress时,如下所示:
CREATE PROCEDURE USP_AddUser
@Name Nvarchar(50),
@LastName Nvarchar(50),
@PictureAdress nvarchar(50)
As
Begin
Insert tbl_Users(Name, LastName, Picture)
Select
@Name, @LastName, BulkColumn
From
OpenRowSet(Bulk @PictureAdress, single_blob) as img
End
这行不通。错误是
“@PictureAddress”附近的语法不正确。字符串或文本除外
我能做什么?感谢您的回复OPENROWSET语句中不允许使用变量。您必须使用动态sql:
CREATE PROCEDURE USP_AddUser
@Name Nvarchar(50),
@LastName Nvarchar(50),
@PictureAdress nvarchar(50)
As
Begin
DECLARE @sql varchar(max);
SET @sql = '
Select
'+@Name+', '+@LastName+', BulkColumn
From
OpenRowSet(Bulk '+@PictureAdress+', single_blob) as img
';
Insert tbl_Users(Name, LastName, Picture)
EXEC (@sql);
结束