Сохранение изображения в базе данных с помощью VB.NET

Я разрабатываю систему. Я обычно добавляю данные в базу данных, кодируя их с помощью Visual Studio 2013, например:

Select * from tbl_login where loginID = '" & TextBox1.Text & "'

Он работает со строками, но не с изображением. Я не знаю, что мне использовать для сохранения изображения из PictureBox.

Кроме того, что лучше? Использование IMAGE или VARBINARY (MAX) в качестве типа данных?

Заранее спасибо!


person ABCDE    schedule 31.10.2016    source источник
comment
Предупреждение о SQL-инъекциях – следует не объединяйте операторы SQL вместе — вместо этого используйте параметризованные запросы, чтобы избежать внедрения SQL.   -  person marc_s    schedule 31.10.2016
comment
Типы данных ntext, text и image будут удалены в будущей версии SQL Server. Избегайте использования этих типов данных в новых разработках и планируйте модифицировать приложения, которые в настоящее время их используют. Вместо этого используйте nvarchar(max), varchar(max) и varbinary(max). Подробности см. здесь   -  person marc_s    schedule 31.10.2016


Ответы (3)


Мой совет - не сохранять изображение в базе данных. Вместо этого вы можете сохранить путь к изображению и сохранить фактическое изображение где-нибудь на сервере. Поскольку сохранение данных изображения может увеличить размер базы данных.

Если вы ограничены в сохранении данных изображения в базе данных, вы можете выбрать varbinary(max). Тип данных IMAGE устарел. Поэтому избегайте использования типа данных IMAGE. Вам необходимо преобразовать данные изображения в двоичный формат с помощью языка сценариев и сохранить их в базе данных.

Еще один совет: не используйте построение запросов с добавлением типа из внешнего интерфейса, например

  Select * from tbl_login where loginID = '" & TextBox1.Text & "'

Возможна атака через SQL Injection.

person Shakeer Mirza    schedule 31.10.2016
comment
могу ли я получить изображение, даже если сохраняется только путь? - person ABCDE; 31.10.2016
comment
да .. Вам нужно вызвать изображение с путем, как тег привязки html. Вы найдете больше о asp.net в Интернете. - person Shakeer Mirza; 31.10.2016

Другим хорошим решением является использование таблиц файлов, которые позволяют пользователю получить лучшее из обоих миров. Экс-нетранснациональный потоковый доступ и обновления файлов на месте. Доступ к файлам в иерархической структуре (аналогично файловой системе). Возможность хранить и запрашивать атрибуты файла, такие как дата создания. Совместимость с API управления файлами и каталогами Windows. Совместимость с другими функциями SQL Server.

person Chamika Goonetilaka    schedule 31.10.2016

Самый простой способ скачать dll с сайта https://vbsqlconn.blogspot.com/

Его очень легко использовать.

person Naveed    schedule 17.02.2018