sábado, 5 de agosto de 2023

 

como guardar imagenes a la base de datos SQLSERVER con C# CSHARP

 Hola dev como estan, espero que bien ,bueno en este post les comparto este articulo a como guardar datos con imagenes a la base de datos sql server en schap c# .

Para guardar imágenes en una base de datos SQL con C#, generalmente se sigue un enfoque donde se convierte la imagen en bytes y luego se almacena en una columna de tipo de datos BLOB (Binary Large Object) en la tabla de la base de datos. Aquí te muestro los pasos básicos para lograrlo:

  1. 1.- Prepara tu base de datos: Asegúrate de tener una tabla en tu base de datos con una columna de tipo BLOB que almacenará las imágenes. Puedes usar una tabla similar a esta:

create database imagen

use imagen

CREATE TABLE Imagenes (

    Id INT PRIMARY KEY,

    Nombre NVARCHAR(50),

    Imagen VARBINARY(MAX)

);

2.- Prepara tu aplicación C# diseñamos el formulario como en la imagen

3.- vamos a codificar.

declarar el siguiente variable global
 string imagePath;//variable global de ruta de imagen

codigo para cargar la imagen a picturebox

// Abre un cuadro de diálogo para seleccionar la imagen

            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "Archivos de imagen|*.png;*.jpg;*.bmp;*.gif";

            if (openFileDialog.ShowDialog() == DialogResult.OK)

            {

                // Obtiene la ruta del archivo seleccionado

                 imagePath = openFileDialog.FileName;

 

                // Carga la imagen en el PictureBox

                pictureBox1.Image = Image.FromFile(imagePath);

            }




codigo para button guardar datos 

private void button2_Click(object sender, EventArgs e)

        {

            string connectionString = @"Data Source=CPIPRODESIGN\SQLEXPRESS;Initial                Catalog=imagen;Integrated Security=True";

            //string imagePath = @"C:Users\LENOVO\OneDrive\Imágenes\logo-systfarma-ico-nuevo.png"; // Cambia esto a la ruta de tu imagen

 

            try

            {

                using (SqlConnection connection = new SqlConnection(connectionString))

                {

                    connection.Open();

 

                    // Lee la imagen desde el archivo y conviértela en bytes

                    byte[] imageData;

                    using (FileStream fs = new FileStream(imagePath, FileMode.Open,                             FileAccess.Read))

                    {

                        imageData = new byte[fs.Length];

                        fs.Read(imageData, 0, (int)fs.Length);

                    }

 

                    // Guarda la imagen en la base de datos

                    string insertQuery = "INSERT INTO Imagenes (Id, Nombre, Imagen)                             VALUES (@Id, @Nombre, @Imagen)";

                    using (SqlCommand cmd = new SqlCommand(insertQuery, connection))

                    {

                        cmd.Parameters.AddWithValue("@Id", textBox1.Text); // Cambia el                             valor del Id según tus necesidades

                        cmd.Parameters.AddWithValue("@Nombre",textBox2.Text); // Cambia                             el nombre de la imagen según tus necesidades

                        cmd.Parameters.AddWithValue("@Imagen", imageData);

                        cmd.ExecuteNonQuery();

                    }

                }

            }

            catch (Exception ex)

            {

                // Manejo de errores

                MessageBox.Show("Error: " + ex.Message);

            }

        }

Share: