У меня есть приложение C#, которое сохраняет фотографии в базе данных SQL Server. SQL Server сохраняет фотографии в столбце типа varbinary(max)
. И приложение конвертирует byte[]
, чтобы показать картинку на моем экране.База данных изображений SQL Server
Что я хочу сделать, это проверить изображение, добавлено ли оно ранее. Прежде всего, вся база данных хранится в наборе данных. Затем я попытался сравнить изображения, проверив равенство байт-массивов изображений. Но это не работает. Поскольку (в зависимости от моего понимания) байт-массив изображения (который я должен был добавить через openfiledialog), не соответствует массиву байтов изображения (который поступает из набора данных), даже если они все одинаковые картинки (одно и то же имя, такое же место, одинаковый размер и т. д.)
Это приводит к более важному вопросу о моем .Net, C#, SQL Server и обучении ado.net .. В таких ситуациях, какой путь более подходит? Проверить наличие данных на бизнес-уровне или на уровне данных? (извините мой плохой английский)
Вы правы, что разные представления одного и того же изображения не будут эквивалентны в прямых тестах. Вам нужно согласованное представление изображения, с которым вы всегда можете сравнить. Tom Studee предложил такой метод (через предыдущий пост). – DonBoitnott