J'ai essayé de créer une procédure stockée qui prend des valeurs de mon programme et l'insère dans des colonnes spécifiques dans une table. Je continue d'obtenir une erreur de syntaxe incorrecte dans la procédure stockée mais je n'arrive pas à comprendre pourquoi? Le code du programme:procédure stockée serveur SQL pour mettre à jour les enregistrements
commandObj.CommandText = "sp_insert_profileDetails"
commandObj.Parameters.Clear()
Dim m_param As SqlParameter
m_param = commandObj.Parameters.Add("@authorId", SqlDbType.NVarChar, 100)
m_param.Direction = ParameterDirection.Input
m_param.Value = foundProfiles.Item(i)
m_param = commandObj.Parameters.Add("@age", SqlDbType.NVarChar, 50)
m_param.Direction = ParameterDirection.Input
m_param.Value = faceProfileAge.Item(i)
m_param = commandObj.Parameters.Add("@gender", SqlDbType.NVarChar, 50)
m_param.Direction = ParameterDirection.Input
m_param.Value = faceProfileSex.Item(i)
m_param = commandObj.Parameters.Add("@locale", SqlDbType.NVarChar, 50)
m_param.Direction = ParameterDirection.Input
m_param.Value = faceProfileLocation.Item(i)
m_param = commandObj.Parameters.Add("@pic", SqlDbType.NVarChar, 100)
m_param.Direction = ParameterDirection.Input
m_param.Value = faceProfilePic.Item(i)
Dim recordsAffected As Integer = commandObj.ExecuteNonQuery
Return recordsAffected
ALTER procedure [dbo].[sp_insert_profileDetails]
@authorId nvarchar(100),
@age nvarchar(50),
@gender nvarchar(50),
@locale nvarchar(50),
@pic nvarchar(100)
AS
Begin
set nocount on
update [dbo].ProfileFeed
set [age] = @age,
[sex] = @gender,
[locale] = @locale,
[pic] = @pic
where
[authorId] = @authorId
end
Toute aide appréciée?
Quelle est l'erreur? Pouvez-vous copier le coller ici? –
Sans rapport avec votre problème, mais le préfixage de vos sprocs avec sp_ est déconseillé par MS: http://msdn.microsoft.com/en-us/library/ms190669.aspx –
Un point délicat, sauf si vous savez exactement ce que vous faites et pourquoi, vous ne voulez vraiment pas préfixer vos procédures avec "sp_". SQL effectue un traitement supplémentaire pour toutes les procédures sp_, ce qui pourrait vous faire perdre du temps. (Une explication détaillée peut être trouvée dans BOL.) –