ПРАКТИЧЕСКОЕ руководство: Чтение и запись данных BLOB с помощью ADO.NET с помощью ASP.NET

Переводы статьи Переводы статьи
Код статьи: 326502 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описывается использование FileStream объект и массив байтов в ASP.NET, чтобы записать данные больших двоичных объектов (BLOB) в Microsoft SQL Server. В этой статье также описывается, как загрузить данные большого двоичного ОБЪЕКТА из базы данных SQL Server и скопировать эти данные для загружаемого файла на странице .aspx.

Требования

В следующем списке представлены рекомендуемого оборудования, программного обеспечения, сетевой инфраструктуры и пакетов обновления, которые необходимы:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server или Windows NT 4.0 Server
  • Microsoft Visual Studio.NET
  • Microsoft SQL Server

Создание проекта

Этот пример проекта подключается к SQL Server Pubs База данных. Этот проект использует существующий Pub_info таблицы и сохраняет файл .jpg в поле логотип этой таблицы. Тип данных поля логотипа Изображение.
  1. Чтобы создать новую страницу ASP.Проект NET веб-приложения в Visual Basic.NET, выполните следующие действия:
    1. Запустите Visual Studio.NET.
    2. На Файл Выберите пункт Новый, а затем нажмите кнопку Проект.
    3. В Новый проект диалоговое окно, нажмите кнопку Проекты Visual Basic Из списка Типы проектов, а затем нажмите кнопку ASP.NET веб-приложения Из списка Шаблоны.
  2. Перетащите два Кнопка элементы управления из раздела веб-формы области элементов на веб-форму по умолчанию.
  3. В окне свойств измените Текст свойства элемента Button1 Кому Сохраните файл базы данных, а затем измените Текст свойства элемента Button2 Кому Загрузка файлов из базы данных.
  4. Добавьте следующий код в верхнюю часть окна кода:
          Imports System.Data.SqlClient
          Imports System.IO
    					
  5. Дважды щелкните значок Button1, а затем добавьте следующий код для Button1_Click обработчик событий:
            Dim con As New SqlConnection("Server=yileiw2;uid=sqlauth;pwd=sqlauth;database=pubs")
            Dim da As New SqlDataAdapter("Select * From pub_info", con)
            Dim MyCB As SqlCommandBuilder = New SqlCommandBuilder(da)
            Dim ds As New DataSet()
    
            da.MissingSchemaAction = MissingSchemaAction.AddWithKey
            con.Open()
            da.Fill(ds, "Pub_info")
    
            Dim fs As New FileStream _
             ("C:\SomePath\MyPhoto.jpg", FileMode.OpenOrCreate, _
              FileAccess.Read)
            Dim MyData(fs.Length) As Byte
            fs.Read(MyData, 0, fs.Length)
            fs.Close()
            ds.Tables("Pub_info").Rows(0)("logo") = MyData
            da.Update(ds, "Pub_info")
    
            fs = Nothing
            MyCB = Nothing
            ds = Nothing
            da = Nothing
    
            con.Close()
            con = Nothing
            Response.Write("File saved to database")
    					
  6. Дважды щелкните значок Button2, а затем добавьте следующий код для Button2_Click обработчик событий:
            Dim con As New SqlConnection("Server=yileiw2;uid=sqlauth;pwd=sqlauth;database=pubs")
            Dim da As New SqlDataAdapter("Select * From pub_info", con)
            Dim MyCB As SqlCommandBuilder = New SqlCommandBuilder(da)
            Dim ds As New DataSet()
    
            con.Open()
            da.Fill(ds, "Pub_info")
            Dim myRow As DataRow
            myRow = ds.Tables("Pub_info").Rows(0)
    
            Dim MyData() As Byte
            MyData = myRow("logo")
            
            Response.Buffer = True
            Response.ContentType = "Image/JPEG"
            Response.BinaryWrite(MyData)
    
            MyCB = Nothing
            ds = Nothing
            da = Nothing
    
            con.Close()
            con = Nothing
    					
  7. Нажмите клавишу F5 чтобы скомпилировать и запустить приложение.
  8. Нажмите кнопку Сохраните файл базы данных Чтобы сохранить MyPhoto.jpg в SQL Server Изображение поле. После получения подтверждения сохраненный образ, проверьте таблицу для проверки.
  9. Нажмите кнопку Загрузка файлов из базы данных Загрузка данных с сервера SQL Server Изображение поле для веб-обозревателя.

Дополнительные сведения

Несмотря на то, что в этом примере используется файл .jpg, все типы файлов можно загрузить с веб-приложения в обозреватель клиента. Например чтобы использовать документ Microsoft Word, а не файл .jpg, подставьте в следующий код
Response.ContentType = "Image/JPEG"
				
с этим кодом:
Response.AddHeader("Content-Disposition", "attachment;filename=blob.doc")
Response.ContentType = "application/msword"
				
Список других типов содержимого и код, связанный с каждым типом содержимого по адресу AspTutorial.info веб-узла:
Страницы ASP - ContentType
http://www.asptutorial.Info/sscript/ContentType.ASP

Ссылки

Для получения дополнительных сведений о том, как для чтения и записи данных BLOB с помощью ADO.NET и Visual Basic.NET, щелкните следующие номера статей базы знаний Майкрософт:
308042 ПРАКТИЧЕСКОЕ руководство: Чтение и запись данных BLOB с помощью ADO.NET с помощью Visual Basic.NET
316887 ПРАКТИЧЕСКОЕ руководство: Чтение и запись файла столбца BLOB с помощью ADO.NET и Visual Basic.NET
317034 ПРАКТИЧЕСКОЕ руководство: Чтение и запись файла столбца BLOB с помощью фрагментации в ADO.NET и Visual Basic.NET

Свойства

Код статьи: 326502 - Последний отзыв: 15 июня 2011 г. - Revision: 12.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft ADO.NET 1.1
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Ключевые слова: 
kbhowtomaster kbsqlclient kbsystemdata kbmt KB326502 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:326502

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com