Чтобы максимально упростить пример, я использовал
исключения вместо анализа кодов ошибок и стандартный класс _com_error, который
определен в файле comutil.h.
Кроме этого, в примере нет кода открытия соединения, так как предполагается, что в момент вызова этой функции соединение с БД уже
открыто (глобальная переменная conn).
При чтении данных типа text или ntext, тип варианта
будет VT_BSTR. Я не думаю, что с ним могут возникнуть какие-либо проблемы.
ПРИМЕЧАНИЕ
В случае бинарных данных тип варианта
VT_ARRAY|VT_UI1.
Теперь давайте рассмотрим метод добавления бинарных
данных в базу с помощью хранимых процедур.
Хранимые процедуры и ADO.NET
Наша процедура будет выглядеть следующим образом:
create proc AddBlob(@img image)
as
insert into blob_test(img) values(@img)
К счастью, в ADO.NET работа с потоками не слишком
изменилась (их по-прежнему нужно откручивать назад).
Алгоритм загрузки графического файла с диска в базу
может быть таким:
Получаем имя файла.
Открываем соединение.
Создаем объект FileStream.
Читаем данные из файла.
Создаем объект SqlCommand для вызова хранимой
процедуры.
Одному из параметров передаем считанные данные.
Вызываем метода ExecuteNonQuery объекта SqlCommand.
Параметры соединения с базой данных можно настроить в
окне дизайнера, поэтому в коде этого делать не придется, нужно лишь вызвать
функцию Open без параметров – и соединение будет установлено.
Рекомендуем скачать другие рефераты по теме: реферат на тему україна, bestreferat ru.