Я получаю неправильный ответ после обновления таблицы.В моем событии RowUpdating у меня есть следующий код, который создает параметр обновления для вызова SP для обновления таблицы.Должно быть, я что-то делаю не так, но все работает нормально.Моя переменная rowActed сообщает 1 после обновления, но таблица никогда не получает данные.
Вот соответствующий код в событии RowUpdating.Значения также правильно заполнены в параметрах.
itemDataSource.ConnectionString = ConfigurationManager.ConnectionStrings("myConnString").ToString()
itemDataSource.UpdateCommandType = SqlDataSourceCommandType.StoredProcedure
itemDataSource.UpdateCommand = "usp_updatePTT" ' Call stored procedure
'Establishes value of Primary key and String sent to SP
itemDataSource.UpdateParameters.Add("ID", updateKey)
itemDataSource.UpdateParameters.Add("lang_String", updateString)
Dim rowsAffected As Integer = 0
rowsAffected = itemDataSource.Update()
GridView4.DataBind()
, а вот SP ....
@ID int,
@lang_String nvarchar(1000)
AS
/* SET NOCOUNT ON */
BEGIN
UPDATE tblLangROOTptt
SET lang_String = @lang_String
WHERE (ID = @ID)
END
RETURN
Любые предложения будут оценены ... спасибо,
ОБНОВЛЕНИЕ: Я нашел решение, которое работает.В исходный источник данных для команды обновления мне нужно было добавить следующее ....
UpdateCommand="EXEC usp_updatePTTrootString @ID=@original_ID, @lang_String=@lang_string" >
Это, по сути, позволяет исходному источнику данных вызывать SP.Обратите внимание: что тип команды должен оставаться как TEXT, а не как хранимая процедура, как можно подумать.