Member 13894029 Ответов: 1

Не обновляя изображение в базе данных


Я не получаю ошибок, и я уже перепроверил имена столбцов, которые я поставил, но они все еще не обновляются. Что-то не так в моем коде?

Что я уже пробовал:

sqlCon.Open();

SqlCommand cmd = new SqlCommand("Update SMStocksTb Set SmStockImage=@SmStockImage where SmStockId=@SmStockId",sqlCon);



MemoryStream stream = new MemoryStream();
pbxUpdateImg.Image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] pic = stream.ToArray();
cmd.Parameters.AddWithValue("@SmStockId", SmStockId);
cmd.Parameters.AddWithValue("@SmStockImage", pic);
cmd.ExecuteNonQuery();

sqlCon.Close();

F-ES Sitecore

Откуда вы знаете, что он не обновляется?

Member 13894029

я проверил свою базу данных, но там все еще есть предыдущее изображение

F-ES Sitecore

Использовать отладчик, чтобы проверить в SQL выполняется, или использовать профилировщик SQL, чтобы делать то же самое. Убедитесь, что параметры заполняются правильными значениями. Попробуйте поменять местами строки AddWithValue так, чтобы их последовательность соответствовала порядку их использования.

Jochen Arndt

Проверьте возвращаемое значение ExecuteNonQuery(). Если это значение не равно нулю, то строка была обновлена. Если это значение равно нулю и ошибка не произошла, то строка с переданным SmStockId отсутствует.

1 Ответов

Рейтинг:
9

OriginalGriff

Регистрация SmStockId значение, которое вы передаете - если оно не совсем то, что вы думаете, то оно либо не будет соответствовать строке, которую вы думаете, что оно делает, либо оно не будет соответствовать никаким строкам.