#c# #asp.net #sql #sql-server #blob
#c# #asp.net #sql #sql-сервер #большой двоичный объект
Вопрос:
У меня есть база данных SQL Server, в которой есть таблица, содержащая несколько полей, одно из которых называется ‘Image’, типа varbinary(MAX)
. Нет поля ‘ImageID’, и поэтому я предполагаю, что я не могу использовать страницу ashx для отображения изображения в asp: элемент управления изображением (как объясняется в многочисленных руководствах).
Какой подход я должен использовать для отображения изображения? Я должен использовать большой двоичный объект принудительно и не могу добавить поле ‘ImageID’ из-за строгих требований.
Есть идеи?
Ответ №1:
Зачем вам ImageID? Любое «Изображение» в данной строке идентифицируется первичным ключом таблицы. В примерах это должен быть ImageID. В вашем случае используйте первичный ключ
Одно из лучших руководств, которое я видел в книге Ремуса Русану «Загрузка и выгрузка изображений с SQL Server через ASP.Net MVC»
Ответ №2:
Не знаю и не видел руководств, о которых вы говорите, но я предполагаю, что эти образцы передают ImageID в ashx, а затем извлекают большой двоичный объект из базы данных, используя этот ImageID в качестве критерия в инструкции SQL.
Таким образом, вы можете сделать что-то подобное, просто используя какой-либо другой идентификатор вместо ImageID, например, RecordID или что-то другое, что у вас есть в вашей таблице. Просто убедитесь, что этот столбец является уникальным идентификатором для данной строки.
Вероятно, вам просто нужно использовать столбец первичного ключа этой таблицы.