2013-10-01 3 views
0

Je reçois le 'Nom de Colonne Invalide' @ NomFichier-- valeur '' ERREUR PENDANT l'exécution de la procédure stockée ci-dessous. J'ai essayé de trouver la cause de la question sans la moindre chance ... S'il vous plaît me suggérer où je me trompe.Nom de colonne non valide '@ NomFichier-- valeur' ​​

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

Faites un peu de Google ... http://bit.ly/1fZ9XWj –

Répondre

0

Changer votre requête à ceci:

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 + '''' 

vous devez passer la valeur entre apostrophes '.

1

remplacer la ligne avec ce

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 +''' 
Questions connexes