Tutoriales gratuitos para el aprendizaje de la programacion informatica! Recuerda que si lo puedes imaginar... lo puedes programar!

ALMACENAR IMAGEN EN SQL SERVER DESDE APLICACION C#

Formulario -> 



CODIFICACIÓN:

CLASE CONEXIÓN

USING SYSTEM;
USING SYSTEM.COLLECTIONS.GENERIC;
USING SYSTEM.LINQ;
USING SYSTEM.TEXT;
USING SYSTEM.THREADING.TASKS;
USING SYSTEM.DATA;
USING SYSTEM.DATA.SQL;
USING SYSTEM.DATA.SQLCLIENT;
USING SYSTEM.WINDOWS.FORMS;
NAMESPACE GUARDARMOSTRARIMAGEN_CON_RUTA_
{
    CLASS CONEXION
    {
        PUBLIC SQLCONNECTION CONEXIONES;
        PUBLIC SQLCOMMAND ENUNCIADO;
        PUBLIC SQLDATAREADER RESPUESTA;
        //PROCEDIMIENTO REALIZADO PARA ACCEDER A UNA BASE DE DATOS'
        //SE NECESITA ABRIR LA CONEXION'
        PUBLIC VOID ABRIR()
{
            TRY {
                CONEXIONES = NEW SQLCONNECTION("DATA SOURCE=YENIER-VENEGAS;INITIAL CATALOG=PRACTICAIMAGEN;INTEGRATED SECURITY=TRUE");
                CONEXIONES.OPEN();
                MESSAGEBOX.SHOW("CONEXION EXITOSA");
            }
            CATCH(EXCEPTION EX) {
                MESSAGEBOX.SHOW("ERROR AL REALIZAR LA CONEXION" + EX.TOSTRING());
            }
        }
        PUBLIC VOID RECONECTAR()
{
            CONEXIONES.CLOSE();
            CONEXIONES.OPEN();
        }
        //GUARDAR LA IDENTIFICACION Y LA RUTA DE LA IMAGEN
        PUBLIC STRING INSERTARIMAGEN(STRING ID, STRING RUTA)
{
            STRING RESULTADO = "";
            RECONECTAR();
            TRY {
                ENUNCIADO = NEW SQLCOMMAND("INSERT INTO IMAGENES(ID_FOTO,FOTO) VALUES('" + ID + "','" + RUTA + "')", CONEXIONES);
                ENUNCIADO.EXECUTENONQUERY();
                RESULTADO = "SE REALIZO CORRECTAMENTE LA INSERCION";
                CONEXIONES.CLOSE();
                }
            CATCH(EXCEPTION EX) {
                RESULTADO = "NO SE PUDO REALIZAR EL REGISTRO DE MANERA CORRECTA" + EX.TOSTRING();
                CONEXIONES.CLOSE();
            }
            RETURN RESULTADO;
        }
        //RETORNA LA RUTA APARTIR DE LA IDENTIFICACION'
        PUBLIC STRING CONSULTARUTA(STRING IDENTIFICACION)
{
            RECONECTAR();
            STRING RESULTADO = "";

            TRY {
                ENUNCIADO = NEW SQLCOMMAND("SELECT FOTO FROM IMAGENES WHERE ID_FOTO='" + IDENTIFICACION + "'", CONEXIONES);
                RESPUESTA = ENUNCIADO.EXECUTEREADER();

                IF(RESPUESTA.READ()) {
                    RESULTADO = RESPUESTA["FOTO"].TOSTRING();
                }
                RESPUESTA.CLOSE();
                }
            CATCH(EXCEPTION EX) {
                MESSAGEBOX.SHOW("ERROR AL CONSULTAR LA RUTA: " + EX.TOSTRING());
            }
            RETURN RESULTADO;
                    }
         //DESPLIEGA LA LISTA DE IMAGENES DISPONIBLES EN EL COMBOBOX'
        PUBLIC VOID CARGARIMAGENES(COMBOBOX COMBO)
{
            RECONECTAR();
            TRY {
                ENUNCIADO = NEW SQLCOMMAND("SELECT ID_FOTO FROM IMAGENES", CONEXIONES);
                RESPUESTA = ENUNCIADO.EXECUTEREADER();

                WHILE(RESPUESTA.READ()) {
                    COMBO.ITEMS.ADD(RESPUESTA["ID_FOTO"].TOSTRING());
                }
                RESPUESTA.CLOSE();

            }
            CATCH(EXCEPTION EX) {
                MESSAGEBOX.SHOW("ERROR AL CARGAR LAS IMAGENES: " + EX.TOSTRING());
            }
        }
        //RETORNA LA CANTIDAD DE IMAGENES ALMACENADAS EN LA BASE'
        PUBLIC INT CANTIDADIMAGENES()
{
            INT CONTADOR = 0;
            TRY {
                ENUNCIADO = NEW SQLCOMMAND("SELECT * FROM IMAGENES", CONEXIONES);
                RESPUESTA = ENUNCIADO.EXECUTEREADER();

                WHILE(RESPUESTA.READ()) {
                    CONTADOR += 1;
                }
                RESPUESTA.CLOSE();
            }
            CATCH(EXCEPTION EX) {
                MESSAGEBOX.SHOW(EX.TOSTRING());
            }
            RETURN CONTADOR;
        }
    }

}


CODIGO DEL FORMULARIO

USING SYSTEM;
USING SYSTEM.COLLECTIONS.GENERIC;
USING SYSTEM.COMPONENTMODEL;
USING SYSTEM.DATA;
USING SYSTEM.DRAWING;
USING SYSTEM.LINQ;
USING SYSTEM.TEXT;
USING SYSTEM.THREADING.TASKS;
USING SYSTEM.WINDOWS.FORMS;
USING INPUTKEY;

NAMESPACE GUARDARMOSTRARIMAGEN_CON_RUTA_
{
    PUBLIC PARTIAL CLASS FORM1 : FORM
    {
        CONEXION C = NEW CONEXION();
        PUBLIC STRING IMAGEN = "";
        PUBLIC FORM1()
        {
            INITIALIZECOMPONENT();
        }

        PRIVATE VOID FORM1_LOAD(OBJECT SENDER, EVENTARGS E)
        {
            C.ABRIR();
        }

        PUBLIC STRING RUTAVALIDA(STRING RUTA)
        {
            STRING NRUTA = "";
            CHAR[] LETRAS = RUTA.TOCHARARRAY();
            STRING LETRA = "";
            FOR(INT I = 0; I < RUTA.LENGTH; I++)
            {
                LETRA = LETRAS[I].TOSTRING();
                IF(LETRA.EQUALS("\\"))
                {
                    NRUTA += LETRA + "\\";
                }
                ELSE
                {
                    NRUTA += LETRA;
                }
            }
            RETURN NRUTA;
        }
        //METODO QUE SELECCIONA UNA IMAGEN Y LA CARGA EN UN PICTUREBOX'
        PUBLIC VOID CARGARIMAGEN()
        {
            TRY
            {
                THIS.OPENFILEDIALOG1.SHOWDIALOG();

                IF(!STRING.ISNULLOREMPTY(THIS.OPENFILEDIALOG1.FILENAME))
                {
                    IMAGEN = THIS.OPENFILEDIALOG1.FILENAME;
                    PICTUREBOX1.LOAD(IMAGEN);
                }
            }
            CATCH(EXCEPTION EX)
            {
                MESSAGEBOX.SHOW("NO SE PUDO CARGAR LA IMAGEN EN EL PICTURE: " + EX.TOSTRING());
            }
            PICTUREBOX1.LOAD(IMAGEN);
        }
                PRIVATE VOID BUTTON1_CLICK(OBJECT SENDER, EVENTARGS E)
        {
            CARGARIMAGEN();
        }

        PRIVATE VOID BUTTON2_CLICK(OBJECT SENDER, EVENTARGS E)
        {
            STRING NOMBRE = INPUTDIALOG.MOSTRAR("DIGITE EL NOMBRE DE LA IMAGEN QUE DESEA ALAMACENAR");
            MESSAGEBOX.SHOW(C.INSERTARIMAGEN(NOMBRE, RUTAVALIDA(IMAGEN)));
            C.CARGARIMAGENES(CBIMAGENES);
            CBIMAGENES.SELECTEDINDEX = 0;
            PICTUREBOX1.IMAGE = NULL;
        }

        PRIVATE VOID CBIMAGENES_SELECTEDINDEXCHANGED(OBJECT SENDER, EVENTARGS E)
        {
            STRING RUTA = C.CONSULTARUTA(CBIMAGENES.SELECTEDITEM.TOSTRING());
            PICTUREBOX1.LOAD(RUTA);
        }
    }
}

No hay comentarios:

Publicar un comentario