Вот способ избежать динамического SQL и обратиться к потенциалу внедрения SQL.Он использует параметризованный запрос.Вот решение SQL:
DECLARE @DisplayHeading varchar(100)
DECLARE @DisplayOrder int
DECLARE @ShortDescription varchar(100)
DECLARE @DocumentNote varchar(100)
DECLARE @command nvarchar(500)
DECLARE @params nvarchar(500)
SET @command = N'UPDATE document
SET displayheading=@DisplayHeading
, displayorder=@DisplayOrder
, shortdescription=@ShortDescription
, document_note=@DocumentNote
--...blah blah blah'
SET @params = N'@DisplayHeading varchar(100), @DisplayOrder int,
@ShortDescription varchar(100), @DocumentNote varchar(100)'
-- Assign values to user variables.
EXEC sp_executesql @command, @params, @DisplayHeading,
@DisplayOrder, @ShortDescription, @DocumentNote
А вот что вы можете попробовать с ADO:
cmd.CommandText = "UPDATE document " & _
"SET displayheading=@DisplayHeading, displayorder=@DisplayOrder, " & _
"shortdescription=@ShortDescription, document_note=@DocumentNote " & _
"--...blah blah blah"
cmd.Parameters.Add(New SqlParameter("@DisplayHeading", DisplayHeading))
cmd.Parameters.Add(New SqlParameter("@DisplayOrder", DisplayOrder))
cmd.Parameters.Add(New SqlParameter("@ShortDescription", ShortDescription))
cmd.Parameters.Add(New SqlParameter("@DocumentNote", DocumentNote))