dir.by  
Программирование, разработка, тестирование
ADO.NET (работа с базой данных на C#)
Читаем картинку из базы данных и сохраняем в файл | ADO.NET, C#
  Посмотрели 1873 раз(а)    
 Читаем картинку из базы данных и сохраняем в файл | ADO.NET, C# 
последнее обновление: 22 июля 2025
Скачать пример:
ConsoleApp1_LoadImgFromDatabase.zip ...
размер: 5 kb
 
 
На заметку! У вас должна быть установлен Microsoft SQL Server. Если у вас это нет то нужно скачать и установить Microsoft SQL Server ...

На заметку! У вас должна быть установлена SQL Server Management Studio. Если у вас это нет то нужно скачать и установить SQL Server Management Studio ...
Шаг 1. Открывем (запускаем) SQL Server Management Studio. В Базе данных создаем таблицу Books
Создаем новую базу данных с именем MyDatabase1
Надо нажать refresh
Создаем таблицу Books
Шаг 2. Создадим ADO.NET консольное приложение на C#
Шаг 3. Напишем код
  C#     Напишем код в файле Program.cs
using Microsoft.Data.SqlClient;
using System.Data.SqlTypes;
using System.IO;

namespace ConsoleApp1
{
     internal class Program
     {
          static void Main(string[] args)
          {
               string connectString = @"Data Source=localhost;Initial Catalog=MyDatabase1;Integrated Security=True; Trust Server Certificate=True";

               // Store image in Database
               byte[] imgFile = File.ReadAllBytes(@"D:/file1.png");
               AddImageToDatabase(connectString,
                    "Books", // table
                    1, // id = 1
                    imgFile,
                    "Id",
                    "Icon"
                    );

               // get image from database
               byte[] imageFromDatabase = GetDatabaseImage(connectString,
                    "Books", // table
                    1, // id = 1
                    "Id",
                    "Icon"
                    );
               // store to file
               File.WriteAllBytes(@"D:\file1.png", imageFromDatabase);
          }

          static byte[] GetDatabaseImage(string connectString, string tableName, int id, string columnNameForId, string columnNameForImage)
          {
               byte[] imageResult = null;
               using (SqlConnection connection = new SqlConnection(connectString))
               {
                    string sqlExpression = $"SELECT {columnNameForImage} FROM {tableName} where {columnNameForId}={id}";
                    using (SqlCommand cmd = new SqlCommand(sqlExpression, connection))
                    {
                         connection.Open();
                         using (SqlDataReader reader = cmd.ExecuteReader())
                         {
                              while (reader.Read())
                              {
                                   SqlBytes sqlBytes = reader.GetSqlBytes(0);
                                   imageResult = new byte[sqlBytes.Length];
                                   sqlBytes.Read(0, imageResult, 0, (int)imageResult.Length);
                              }
                         }
                         connection.Close();
                    }
               }
               return imageResult;
          }
          static void AddImageToDatabase(string connectString, string tableName, int id, byte[] imageBytes, string columnName1, string columnName2)
          {
               using (SqlConnection connection = new SqlConnection(connectString))
               {
                    string sqlExpression = $"INSERT INTO {tableName} ({columnName1}, {columnName2}) Values (@param1, @param2)";
                    using (SqlCommand cmd = new SqlCommand(sqlExpression, connection))
                    {
                         cmd.Parameters.Add(new SqlParameter("@param1", id));
                         cmd.Parameters.Add(new SqlParameter("@param2", imageBytes));
                         connection.Open();
                         cmd.ExecuteNonQuery();
                         connection.Close();
                    }
               }
          }
     }
}
 
← Предыдущая тема
Транзакции в ADO.NET | База данных в C# консольном приложении
 
Следующая тема →
Строка соединения с базой данных | ADO.NET, C#
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

Экскурсии по Москве Экскурсии по Москве: пешеходные, автобусные и речные прогулки на любой вкус
  Объявления  
  Объявления  
 
Что такое ADO.NET?
Создадим ADO.NET консольное приложение (C#, база данных)
Работа с данными в ADO.NET
Читаем данные (select) из Базы Данных используя SqlCommand и SqlDataReader в ADO.NET C#. Соответствие типов Базы данных
Читаем данные (select) из Базы Данных используя SqlDataAdapter и DataSet | ADO.NET, C#
Получение скалярного (одного) значения: Count, Min, Max, Sum и т.д. | ADO.NET, C#
Добавляем данные (insert into) в Базу Данных используя SqlCommand | ADO.NET, C#
Меняем данные (update) в Базе Данных используя SqlCommand | ADO.NET, C#
Удаляем данные (delete) в Базе Данных используя SqlCommand | ADO.NET, C#
Хранимые процедуры в ADO.NET
Хранимые процедуры в ADO.NET | C#
Транзакции в ADO.NET
Транзакции в ADO.NET | База данных в C# консольном приложении
Читаем картинку из базы данных ADO.NET
Читаем картинку из базы данных и сохраняем в файл | ADO.NET, C#
Дополнительные темы, вопросы
Строка соединения с базой данных | ADO.NET, C#

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика