none
Ayuda procedimiento almacenado Mysql y C#, para guardar información de varias tablas RRS feed

  • Pregunta

  • Buena noche para todos en esta ocación pido de su colaboración para despejar una duda o que me guien en como poder desarrollar lo siguiente:

    Programo en C# .Net en la versión Visual Studio Community 2019 y con gestor de base de datos MySql en la versión 8.0.19.

    Estoy desarrollando un sistema de notas y estoy en la parte donde configuro los periodos academicos, con los docentes y las respectivas materias que dicta cada uno y en cada grado, y a la vez que alumno aplica a cada grado.

    Tengo el siguiente procedimiento almacenado en mysql.

    DELIMITER //
    CREATE PROCEDURE InsertarConfPeriodo(CoPePeriIdPA INT, CoPeDoceDocumentoPA VARCHAR(18),  CoPeAnoLectivoPA VARCHAR(4),  CoPeGradIdPA INT, CoPeMateIdPA INT, CoPeAlumDocumentoPA VARCHAR(18))
    COMMENT 'Procedimiento para INSERTAR NOTAS a la base de datos'
    BEGIN
    IF NOT EXISTS(SELECT CoPePeriId, CoPeDoceDocumento, CoPeAnoLectivo, CoPeGradId, CoPeMateId, CoPeAlumDocumento FROM Confperiodos 
    WHERE CoPePeriId=CoPePeriIdPA AND CoPeDoceDocumento=CoPeDoceDocumentoPA AND CoPeAnoLectivo=CoPeAnoLectivoPA AND CoPeGradId=CoPeGradIdPA AND CoPeMateId=CoPeMateIdPA AND CoPeAlumDocumento=CoPeAlumDocumentoPA) THEN
    INSERT INTO Confperiodos(CoPePeriId, CoPeDoceDocumento, CoPeAnoLectivo, CoPeGradId, CoPeMateId, CoPeAlumDocumento) 
    SELECT periodos.PeriId, PrDMDoceDocumento, PrDMAno, PrDMGradId, PrDMMateId, confialumnos.CoAluAlumDoc
    FROM progradocmat
    INNER JOIN confialumnos ON PrDMGradId=CoAluGradId
    INNER JOIN periodos ON PrDMGradId=CoAluGradId;
    ELSE 
    SELECT 'El registro ya se encuentra almanenado en la base de datos!';
    END IF;
    END //
    DELIMITER ;

    y lo llamo desde un boton, el cual hace el proceso de comunicarse con la capa de negocio y la capa de datos, para almacenar la información en la base de datos.

    Este es el código del boton.

    private void BtnActivar_Click(object sender, EventArgs e)
            {
                // Para programar la configuración de los 3 periodos academicos, para cada uno de los docentes, con sus
                // respectivas materias y grados y teniendo que alemnos aplican para cada grado            
                DataTable dt = NConfDocMat.MostrarAno(NudAnoLectivo.Text.Trim());
                DataTable dt2 = NConfigAlumGrad.Mostrarx(NudAnoLectivo.Text.Trim());
    
                try
                {
                    string Respuesta = "";
    
                    // para los 3 periodos
                    for (int j = 1; j <= 3; j++)
                    {
                        Periodo = j;
    
                        // Para tomar en cuenta la configuración de los docentes que materias dictan en cada grado y el año lectivo
                        for (int k = 0; k < dt.Rows.Count; k++)
                        {
                            Mydocumento = dt.Rows[k]["PrDMDoceDocumento"].ToString();
                            Mygradoid = Convert.ToInt32(dt.Rows[k]["PrDMGradId"].ToString());
                            Mymateriaid = Convert.ToInt32(dt.Rows[k]["PrDMMateId"].ToString());
    
                            // Para tomar el documento del alumno, teniendo en cuenta el grado al cual esta matriculado y el año lectivo 
                            
                            for (int m = 0; m < dt2.Rows.Count; m++)
                            {
                                Myalumno = dt2.Rows[m]["Documento"].ToString();
    
                                // Para pasar la información por medio del procedimiento almacenado a la base de datos
                                Respuesta = NConfiPeriodos.Insertar(Periodo, Mydocumento, this.NudAnoLectivo.Text.Trim().ToUpper(), Convert.ToInt32(Mygradoid), Convert.ToInt32(Mymateriaid), Myalumno);
                            }
                        }                            
                    }
    
                    if (Respuesta.Equals("OK"))
                    {
                        this.MensajeOk("Se configuro correctamente la información.");
                    }
                    else
                    {
                        this.MensajeOk("No se pudo ingresar la información." + "\n" + Respuesta);                      //"No se pudo ingresar la información");
                    }
                    //Botones();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + ex.StackTrace);
                }
            

    No se si el problema lo tengo en el código del procedimiento almacenado o en el código del botón.

    Al ejecutar el sigueitne código en el gestor de base dedatos me muestra la información que deseo introduccir en la tabla de la base de datos.

    SELECT periodos.PeriId, PrDMDoceDocumento,  PrDMAno, CoAluGradId, PrDMMateId,  CoAluAlumDoc
    FROM confialumnos
    INNER JOIN progradocmat ON PrDMGradId=CoAluGradId
    INNER JOIN periodos ON PrDMGradId=CoAluGradId
    WHERE PrDMAno='2020' AND  PrDMGradId=CoAluGradId
    ORDER BY CoAluAlumDoc AND CoAluGradId AND PrDMMateId;

    Espero me puedan guiar, ya que llevo como 3 días dandole vueltas, pero no ecuentro una solución decente.

    De antemano muchas gracias por su valiosa colaboración.


    miércoles, 25 de marzo de 2020 1:18

Respuestas

  • Buena tarde, ya encontre la solución y la comparto por si más adelante le puede ser util a otra persona.

    Agregue un procedimiento almacenado, en cual solo hago un select.

    -- Procedimiento Almacenado para MOSTRAR MostrarConfPeriodo_DatosParam ACTIVOS
    DELIMITER //
    CREATE PROCEDURE MostrarConfPeriodo_DatosParam(CoPeAnoLectivoPA VARCHAR(4))
    BEGIN
    SELECT periodos.PeriId, PrDMDoceDocumento,  PrDMAno, CoAluGradId, PrDMMateId,  CoAluAlumDoc
    FROM confialumnos
    INNER JOIN progradocmat ON PrDMGradId=CoAluGradId
    INNER JOIN periodos ON PrDMGradId=CoAluGradId
    WHERE PrDMAno=CoPeAnoLectivoPA AND  PrDMGradId=CoAluGradId
    ORDER BY CoAluAlumDoc AND CoAluGradId AND PrDMMateId;
    END//
    DELIMITER ;

    El cual depues lo paso a un datatable, para ir ingresando registro por registro a la tabla Confperiodos, por medio del siguiente procedimiento almacenado.

    DELIMITER //
    CREATE PROCEDURE InsertarConfPeriodo2(CoPePeriIdPA INT, CoPeDoceDocumentoPA VARCHAR(18),  CoPeAnoLectivoPA VARCHAR(4),  CoPeGradIdPA INT, CoPeMateIdPA INT, CoPeAlumDocumentoPA VARCHAR(18))
    COMMENT 'Procedimiento para INSERTAR ConfigPeriodos a la base de datos'
    BEGIN
    IF NOT EXISTS(SELECT CoPePeriId, CoPeDoceDocumento, CoPeAnoLectivo, CoPeGradId, CoPeMateId, CoPeAlumDocumento FROM Confperiodos 
    WHERE CoPePeriId=CoPePeriIdPA AND CoPeDoceDocumento=CoPeDoceDocumentoPA AND CoPeAnoLectivo=CoPeAnoLectivoPA AND CoPeGradId=CoPeGradIdPA 
    AND CoPeMateId=CoPeMateIdPA AND CoPeAlumDocumento=CoPeAlumDocumentoPA) THEN
    INSERT INTO Confperiodos(CoPePeriId, CoPeDoceDocumento, CoPeAnoLectivo, CoPeGradId, CoPeMateId, CoPeAlumDocumento) 
    VALUES (CoPePeriIdPA, CoPeDoceDocumentoPA, CoPeAnoLectivoPA, CoPeGradIdPA, CoPeMateIdPA, CoPeAlumDocumentoPA );
    ELSE 
    SELECT 'El registro ya se encuentra almanenado en la base de datos!';
    END IF;
    END //
    DELIMITER ;


    El cual llamo desde el sigueinte codigo desde un boton.

    private void BtnActivar_Click(object sender, EventArgs e)
            {
               
                DataTable datatable = NConfiPeriodos.MostrarParam(NudAnoLectivo.Text.Trim());
    
                try
                {
                    string Respuesta = "";
    
    
    
                    // Para recorrer cada uno de los registros e ir insertando en la tabla
                    for (int item = 0; item < datatable.Rows.Count; item++)
                    {
                        Periodo = Convert.ToInt32(datatable.Rows[item]["PeriId"].ToString());
                        Mydocumento = datatable.Rows[item]["PrDMDoceDocumento"].ToString();                    
                        Mygradoid = Convert.ToInt32(datatable.Rows[item]["CoAluGradId"].ToString());
                        Mymateriaid = Convert.ToInt32(datatable.Rows[item]["PrDMMateId"].ToString());
                        MydocumAlumno = datatable.Rows[item]["CoAluAlumDoc"].ToString();
    
                        Respuesta = NConfiPeriodos.Insertar(Periodo, Mydocumento, this.NudAnoLectivo.Text.Trim().ToUpper(), Convert.ToInt32(Mygradoid), Convert.ToInt32(Mymateriaid), MydocumAlumno);
                        
                        conteo = Convert.ToInt32(item) + 1;
                        
                        conteo = conteo++;                    
                    }
                    if (Respuesta.Equals("OK"))
                    {
                        this.MensajeOk("Se agrego correctamente un total de " + conteo + " Registros");
                    }
                    else
                    {
                        this.MensajeOk("No se pudo agregar la información." + "\n" + Respuesta);                      //"No se pudo ingresar la información");
                    }
    
                    Botones();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + ex.StackTrace);
                }
            }

    Y asi quedo la solución, caso cerrado.

    De antemano gracias a los que aportaron con su ayuda, aveces las ideas fluyen de una mejor manera, y se dan las soluciones.

    • Marcado como respuesta VISANCOR74 jueves, 26 de marzo de 2020 17:26
    jueves, 26 de marzo de 2020 17:26

Todas las respuestas

  • hola

    Lo que noto raro es que el INSERT lo realices en base a un SELECT, porque no le pasas los datos directo si solo relacionas los Ids de las entidades

    CREATE PROCEDURE InsertarConfPeriodo(CoPePeriIdPA INT, CoPeDoceDocumentoPA VARCHAR(18),  CoPeAnoLectivoPA VARCHAR(4),  CoPeGradIdPA INT, CoPeMateIdPA INT, CoPeAlumDocumentoPA VARCHAR(18))
    COMMENT 'Procedimiento para INSERTAR NOTAS a la base de datos'
    BEGIN
    
    	IF NOT EXISTS(SELECT * FROM Confperiodos 
    			WHERE CoPePeriId=CoPePeriIdPA 
    			AND CoPeDoceDocumento=CoPeDoceDocumentoPA 
    			AND CoPeAnoLectivo=CoPeAnoLectivoPA 
    			AND CoPeGradId=CoPeGradIdPA 
    			AND CoPeMateId=CoPeMateIdPA 
    			AND CoPeAlumDocumento=CoPeAlumDocumentoPA) THEN
    					
    		INSERT INTO Confperiodos(CoPePeriId, CoPeDoceDocumento, CoPeAnoLectivo, CoPeGradId, CoPeMateId, CoPeAlumDocumento) 
    		VALUES (CoPePeriIdPA, CoPeDoceDocumentoPA, CoPeAnoLectivoPA, CoPeGradIdPA, CoPeMateIdPA, CoPeAlumDocumentoPA)
    	END IF;
    
    END

    usas el VALUES para poner directo los valores, no necesitas hacer otro select, sino te estaria faltando definir el WHERE

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 25 de marzo de 2020 3:32
  • Gracias por contestar Leandro, tambien habia probado con este otro procedimiento almacenado.

    DELIMITER //
    CREATE PROCEDURE InsertarConfPeriodo5(CoPePeriIdPA INT, CoPeDoceDocumentoPA VARCHAR(18),  CoPeAnoLectivoPA VARCHAR(4),  CoPeGradIdPA INT, CoPeMateIdPA INT, CoPeAlumDocumentoPA VARCHAR(18))
    COMMENT 'Procedimiento para INSERTAR ConfigPeriodos a la base de datos'
    BEGIN
    IF NOT EXISTS (SELECT CoPePeriId, CoPeDoceDocumento, CoPeAnoLectivo, CoPeGradId, CoPeMateId, CoPeAlumDocumento 
    FROM Confperiodos 
    WHERE CoPePeriId=CoPePeriIdPA AND CoPeDoceDocumento=CoPeDoceDocumentoPA AND CoPeAnoLectivo=CoPeAnoLectivoPA AND CoPeGradId=CoPeGradIdPA AND CoPeMateId=CoPeMateIdPA AND CoPeAlumDocumento=CoPeAlumDocumentoPA) THEN
    INSERT INTO Confperiodos(CoPePeriId, CoPeDoceDocumento, CoPeAnoLectivo, CoPeGradId, CoPeMateId, CoPeAlumDocumento) 
    VALUES (CoPePeriIdPA, CoPeDoceDocumentoPA, CoPeAnoLectivoPA, CoPeGradIdPA, CoPeMateIdPA, CoPeAlumDocumentoPA);
    ELSE
    SELECT 'La EPS ya existe en la base de datos!';
    END IF;
    END//
    DELIMITER ;

    Pero me pasa lo mismo, pienso que el error esta en los 3 bucles aninados.


    • Editado VISANCOR74 sábado, 18 de abril de 2020 16:28
    miércoles, 25 de marzo de 2020 3:53
  • hola

    >>Pero me pasa lo mismo, pienso que el error esta en los 3 bucles aninados.

    lo que no mencionastes es que es lo que pasa ? obtienes algun mensaje de error, o simplemente no inserta

    que pasa si quita el IF del EXISTS del procedure

    Usar 3 loops esta algo raro, pero si pones un breakpoint y llega hasta el NConfiPeriodos.Insertar() deberia realizar la operacion, entendiendo que dentro de ese Insertar() este todos correcto la asignacion de parametros y ejecucion del ExecuteNonQuery() del command, porque no nos mostraste que haces dentro de ese metodo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 25 de marzo de 2020 4:09
  • Gracias nuevamente Leandro

    Este es el metodo insertar de la capa negocios y la clase NConfiPeriodos

     public static string Insertar( int CoPePeriId, string CoPeDoceDocumento,  string CoPeAnoLectivo, int CoPeGradId, int CoPeMateId, string CoPeAlumDocumento) // como aparecen los campos en la tabla
            {
                DConfiPeriodos Obj = new DConfiPeriodos
                {
                    // Cfgrma_id = CfGrMa_Id,
                    Copeperiid = CoPePeriId,
                    Copedocedocumento = CoPeDoceDocumento,
                    Copeanolectivo = CoPeAnoLectivo,
                    Copegradid = CoPeGradId,
                    Copemateid = CoPeMateId,
                    Copealumdocumento = CoPeAlumDocumento,
    
                };
                return Obj.Insertar(Obj);
            }


    y este metodo insertar de la capa datos, la clase DConfiPeriodos

     public string Insertar(DConfiPeriodos DConfiPeriodos)
            {
                string respuesta = "";
                using (MySqlConnection SqlConex = new MySqlConnection())
                {
                    try
                    {
                        SqlConex.ConnectionString = Conexion.Cn;
                        SqlConex.Open();
                        // Se establecen los comandos                
                        using (MySqlCommand comando = new MySqlCommand())
                        {
                            comando.Connection = SqlConex;
                            comando.CommandText = "InsertarConfPeriodo";
                            comando.CommandType = CommandType.StoredProcedure;
    
                            // Parametros para cada uno de los campos de la tabla
                            // Campo: CoPePeriId
                            MySqlParameter ParamCoPePeriId = new MySqlParameter
                            {
                                ParameterName = "CoPePeriIdPA",
                                MySqlDbType = MySqlDbType.Int32,
                                Size = 1,
                                Value = DConfiPeriodos.Copeperiid
                            };
                            comando.Parameters.Add(ParamCoPePeriId);
    
                            // Campo: CoPeDoceDocumento
                            MySqlParameter ParamCoPeDoceDocumento = new MySqlParameter
                            {
                                ParameterName = "CoPeDoceDocumentoPA",
                                MySqlDbType = MySqlDbType.VarChar,
                                Size = 18,
                                Value = DConfiPeriodos.Copedocedocumento
                            };
                            comando.Parameters.Add(ParamCoPeDoceDocumento);
    
                            // Campo: CoPeAnoLectivo
                            MySqlParameter ParamACoPeAnoLectivo = new MySqlParameter
                            {
                                ParameterName = "CoPeAnoLectivoPA",
                                MySqlDbType = MySqlDbType.VarChar,
                                Size = 4,
                                Value = DConfiPeriodos.Copeanolectivo
                            };
                            comando.Parameters.Add(ParamACoPeAnoLectivo);
    
                            // Campo: CoPeGradId
                            MySqlParameter ParamCoPeGradId = new MySqlParameter
                            {
                                ParameterName = "CoPeGradIdPA",
                                MySqlDbType = MySqlDbType.Int32,
                                Size = 1,
                                Value = DConfiPeriodos.Copegradid
                            };
                            comando.Parameters.Add(ParamCoPeGradId);
    
                            // Campo: CoPeMateIdPA
                            MySqlParameter ParamCoPeMateId = new MySqlParameter
                            {
                                ParameterName = "CoPeMateIdPA",
                                MySqlDbType = MySqlDbType.Int32,
                                Size = 1,
                                Value = DConfiPeriodos.Copemateid
                            };
                            comando.Parameters.Add(ParamCoPeMateId);
    
                            // Campo: CoPeAlumDocumentoPA
                            MySqlParameter ParamCoPeAlumDocumento = new MySqlParameter
                            {
                                ParameterName = "CoPeAlumDocumentoPA",
                                MySqlDbType = MySqlDbType.VarChar,
                                Size = 18,
                                Value = DConfiPeriodos.Copealumdocumento
                            };
                            comando.Parameters.Add(ParamCoPeAlumDocumento);                        
    
                            //Se ejecuta el Comando
                            respuesta = comando.ExecuteNonQuery() == 1 ? "OK" : "NO se Ingreso el Registro";
                        }
                    }
                    catch (Exception ex)
                    {
                        respuesta = ex.Message;
                    }
                    finally
                    {
                        if (SqlConex.State == ConnectionState.Open) SqlConex.Close();
                    }
                    return respuesta;
                }
            }

    y el error que a veces me sale es que me agrega mas registros de los que deberia, y en otras ocasiones ingresa los registros que son, pero me sale el mensaje que no se inserto nada:

    Este es el error que me muestra

    De antemano muchas gracias por su valiosa colaboración y ayuda desinteresada.


    • Editado VISANCOR74 miércoles, 25 de marzo de 2020 21:09
    miércoles, 25 de marzo de 2020 21:07
  • hola

    Parace indicar que no encuentra el procedure, pero hay algo raro

    En el codigo que no muestras dice

      comando.CommandText = "InsertarConfPeriodo";

    pero en el mensaje del error menciona InsertarConfPeriodo1

    porque hay un "1" al final del nombre del procedure ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina



    miércoles, 25 de marzo de 2020 21:21
  • hola

    No hacia falta que pusieras mas codigo sino validas lo que resalte, en el codigo tienes definido un nombre de procedure, pero en el mensaje de error se mencina uno diferente

    de donde sale el "1" al final del nombre del procedure que menciona el exception ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 25 de marzo de 2020 21:55
  • No Leando no eseno es el problema, es que como he realizado varias pruebas se me olvido quitarle el 1 cuanddo subi el codigo, por eso lo edite de una vez
    miércoles, 25 de marzo de 2020 23:28
  • El error que me sucede es que me crea mas registros de los que deberia, por ejemplo segun los datos que hay configurados deberia insertar 72 registros y me agrega 144, porque me agrega registros de grados en el cual no esta el estudiante.

    Por eso pienso que debo tener mal los 3 ciclo repetitivos.

    • Editado VISANCOR74 jueves, 26 de marzo de 2020 0:04
    jueves, 26 de marzo de 2020 0:03
  • Buena tarde, ya encontre la solución y la comparto por si más adelante le puede ser util a otra persona.

    Agregue un procedimiento almacenado, en cual solo hago un select.

    -- Procedimiento Almacenado para MOSTRAR MostrarConfPeriodo_DatosParam ACTIVOS
    DELIMITER //
    CREATE PROCEDURE MostrarConfPeriodo_DatosParam(CoPeAnoLectivoPA VARCHAR(4))
    BEGIN
    SELECT periodos.PeriId, PrDMDoceDocumento,  PrDMAno, CoAluGradId, PrDMMateId,  CoAluAlumDoc
    FROM confialumnos
    INNER JOIN progradocmat ON PrDMGradId=CoAluGradId
    INNER JOIN periodos ON PrDMGradId=CoAluGradId
    WHERE PrDMAno=CoPeAnoLectivoPA AND  PrDMGradId=CoAluGradId
    ORDER BY CoAluAlumDoc AND CoAluGradId AND PrDMMateId;
    END//
    DELIMITER ;

    El cual depues lo paso a un datatable, para ir ingresando registro por registro a la tabla Confperiodos, por medio del siguiente procedimiento almacenado.

    DELIMITER //
    CREATE PROCEDURE InsertarConfPeriodo2(CoPePeriIdPA INT, CoPeDoceDocumentoPA VARCHAR(18),  CoPeAnoLectivoPA VARCHAR(4),  CoPeGradIdPA INT, CoPeMateIdPA INT, CoPeAlumDocumentoPA VARCHAR(18))
    COMMENT 'Procedimiento para INSERTAR ConfigPeriodos a la base de datos'
    BEGIN
    IF NOT EXISTS(SELECT CoPePeriId, CoPeDoceDocumento, CoPeAnoLectivo, CoPeGradId, CoPeMateId, CoPeAlumDocumento FROM Confperiodos 
    WHERE CoPePeriId=CoPePeriIdPA AND CoPeDoceDocumento=CoPeDoceDocumentoPA AND CoPeAnoLectivo=CoPeAnoLectivoPA AND CoPeGradId=CoPeGradIdPA 
    AND CoPeMateId=CoPeMateIdPA AND CoPeAlumDocumento=CoPeAlumDocumentoPA) THEN
    INSERT INTO Confperiodos(CoPePeriId, CoPeDoceDocumento, CoPeAnoLectivo, CoPeGradId, CoPeMateId, CoPeAlumDocumento) 
    VALUES (CoPePeriIdPA, CoPeDoceDocumentoPA, CoPeAnoLectivoPA, CoPeGradIdPA, CoPeMateIdPA, CoPeAlumDocumentoPA );
    ELSE 
    SELECT 'El registro ya se encuentra almanenado en la base de datos!';
    END IF;
    END //
    DELIMITER ;


    El cual llamo desde el sigueinte codigo desde un boton.

    private void BtnActivar_Click(object sender, EventArgs e)
            {
               
                DataTable datatable = NConfiPeriodos.MostrarParam(NudAnoLectivo.Text.Trim());
    
                try
                {
                    string Respuesta = "";
    
    
    
                    // Para recorrer cada uno de los registros e ir insertando en la tabla
                    for (int item = 0; item < datatable.Rows.Count; item++)
                    {
                        Periodo = Convert.ToInt32(datatable.Rows[item]["PeriId"].ToString());
                        Mydocumento = datatable.Rows[item]["PrDMDoceDocumento"].ToString();                    
                        Mygradoid = Convert.ToInt32(datatable.Rows[item]["CoAluGradId"].ToString());
                        Mymateriaid = Convert.ToInt32(datatable.Rows[item]["PrDMMateId"].ToString());
                        MydocumAlumno = datatable.Rows[item]["CoAluAlumDoc"].ToString();
    
                        Respuesta = NConfiPeriodos.Insertar(Periodo, Mydocumento, this.NudAnoLectivo.Text.Trim().ToUpper(), Convert.ToInt32(Mygradoid), Convert.ToInt32(Mymateriaid), MydocumAlumno);
                        
                        conteo = Convert.ToInt32(item) + 1;
                        
                        conteo = conteo++;                    
                    }
                    if (Respuesta.Equals("OK"))
                    {
                        this.MensajeOk("Se agrego correctamente un total de " + conteo + " Registros");
                    }
                    else
                    {
                        this.MensajeOk("No se pudo agregar la información." + "\n" + Respuesta);                      //"No se pudo ingresar la información");
                    }
    
                    Botones();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + ex.StackTrace);
                }
            }

    Y asi quedo la solución, caso cerrado.

    De antemano gracias a los que aportaron con su ayuda, aveces las ideas fluyen de una mejor manera, y se dan las soluciones.

    • Marcado como respuesta VISANCOR74 jueves, 26 de marzo de 2020 17:26
    jueves, 26 de marzo de 2020 17:26