2013-10-01 4 views
0

저장 프로 시저 아래에서 실행 중 '잘못된 열 이름'@ FileName-- value ''오류가 발생합니다. 나는 행운이 문제의 근본 원인을 찾으려고 노력 ... 제발 내가 어디 잘못 생각해.잘못된 열 이름 '@ FileName-- value'

ALTER PROCEDURE [dbo].[usp_ICLExtract_GetFile] 

@FileName Varchar(50),  
@Image_Path Varchar(50) Output,  
@FIleNameList varchar(4096) OUTPUT 
AS 
BEGIN 

    SET NOCOUNT ON 
    DECLARE @strProcName varchar(255) 
    SET @strProcName = 'usp_ICLExtract_GetFile' 
    DECLARE @strSQL1 varchar(1024), @strSQL2 varchar(1024) 
    DECLARE @strFileName Varchar(50) 
    DECLARE @intErrorReturn int 
    SET @intErrorReturn = 0 
    SET @FileNameList = '' 
    SET @Image_Path = ''  
    SET @strSQL1 = N'SELECT tbl_ICLExtCashLetter.Image_Path from tbl_ICLExtCashLetter INNER JOIN tbl_ICLExtFile on [tbl_ICLExtCashLetter].ICLExtFileUID = [tbl_ICLExtFile].ICLExtFileUID where tbl_ICLExtFile.FileName = ' + @FileName --This line cause error 

    /*============================================================================== 
    * Run the query' 
    *==============================================================================*/ 
    SET @strSQL2 = 'DECLARE curCategory INSENSITIVE SCROLL CURSOR FOR ' + @strSQL1 
    EXEC(@strSQL2) 
    SELECT @intErrorReturn = @@ERROR 
    IF (@intErrorReturn <> 0) GOTO usp_ICLExtract_GetFile_Error 
    OPEN curCategory 
    SELECT @intErrorReturn = @@ERROR 
    IF (@intErrorReturn <> 0) GOTO usp_ICLExtract_GetFile_Error 
    FETCH NEXT FROM curCategory INTO @strFileName 
    WHILE (@@FETCH_STATUS <> -1) 
    BEGIN 
    SET @FileNameList = @FileNameList + @strFileName + ';' 
    SET @Image_Path = @Image_Path + 1 
    FETCH NEXT FROM curCategory INTO @strFileName 
    END 
    CLOSE curCategory 
    DEALLOCATE curCategory 
    RETURN(0) 
usp_ICLExtract_GetFile_Error: 
    RETURN(@intErrorReturn) 
END 
+0

에 맞춰 교체 ... http://bit.ly/1fZ9XWj –

답변

0
이에 조회를 변경

: 아포스트로피 ' 사이의 값을 전달해야

N'SELECT tbl_ICLExtCashLetter.Image_Path from tbl_ICLExtCashLetter 
INNER JOIN tbl_ICLExtFile on [tbl_ICLExtCashLetter].ICLExtFileUID = 
[tbl_ICLExtFile].ICLExtFileUID where tbl_ICLExtFile.FileName = ''' + @FileName + '''' 

.

1

구글의 비트를 수행이

SET @strSQL1 = N'SELECT tbl_ICLExtCashLetter.Image_Path from tbl_ICLExtCashLetter INNER JOIN tbl_ICLExtFile on [tbl_ICLExtCashLetter].ICLExtFileUID = [tbl_ICLExtFile].ICLExtFileUID where tbl_ICLExtFile.FileName = ''' + @FileName +'''