Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在sql中向表中添加图片(带参数)_Sql Server_Image_Stored Procedures - Fatal编程技术网

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);
结束