Foros del Web » Programación para mayores de 30 ;) » .NET »

Saber si los datos fueron guardados en la BD

Estas en el tema de Saber si los datos fueron guardados en la BD en el foro de .NET en Foros del Web. Hola a todos Necesito ayuda. Tengo un formulario que hace un Insert en una BD MySql, entonces necesito hacer que me dé una confirmación de ...
  #1 (permalink)  
Antiguo 22/08/2008, 09:20
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
Saber si los datos fueron guardados en la BD

Hola a todos

Necesito ayuda.

Tengo un formulario que hace un Insert en una BD MySql, entonces necesito hacer que me dé una confirmación de que los datos enviados fueron cargados en la BD.

Código:
 cnn.Execute "INSERT INTO evaluaciones " _
    & "(ID_LLAMADA, NOMBRE_AGENTE,FECHA_EVALUACION, HORA_EVALUACION, TIPO_EVALUACION," _
    & "NOMBRE_EVALUADOR, SALUDO_INICIAL, PERSONALIZACION,SATISFACCION_GARANTIZADA,CIERRE_DEFINITIVO," _
    & "USO_TPO_ESPERA,IDENTIFICA_CLIENTE,ESCUCHA_ACTIVA,RESUMIR,DETECTA_NECESIDAD_CLIENTE," _
    & "ASESORAR,PROACTIVIDAD,CONTROL_LLAMADA,EMPATIA, COMUNICACION, ADAPTACION_SITUACION,DESEMPEÑO_COMERCIAL," _
    & "CONOCIMIENTO_PRODUCTO, PROCEDIMIENTOS, CONOCIMIENTO_SISTEMA, DIRECCIONAR_LLAMADA," _
    & "INGRESO_DATOS, PUNTO_ATENCION, FORTALEZAS)" _
    & " VALUES( " _
    & " '" & LblIdLlamada & "', '" & ComboAgente & "' , '" & LblFechaLlamada & "', " _
    & " '" & LblHoraLlamada & "','" & ComboTipo & "', '" & ComboEvaluador & "'," _
    & " '" & Combo4 & "','" & Combo5 & "','" & Combo6 & "','" & Combo7 & "','" & Combo8 & "' , " _
    & " '" & Combo9 & "','" & Combo10 & "','" & Combo11 & "','" & Combo12 & "','" & Combo13 & "','" & Combo14 & "', " _
    & " '" & Combo15 & "','" & Combo16 & "','" & Combo17 & "','" & Combo18 & "','" & Combo19 & "'," _
    & " '" & Combo20 & "','" & Combo21 & "','" & Combo22 & "','" & Combo23 & "','" & Combo24 & "'," _
    & " '" & TxtObservacion & "','" & TxtFortalezas & "')"
había visto hacer algo así,
Código:
   If iRow = 1 Then
   MsgBox "Los datos fueron guardados"
   Else
   MsgBox " Hubo un error en la carga de datos"
   End If
(lo tomé de un ejemplo con acces) pero siempre dice que no se han guardado, a pesar de que esta hecho el insert. Mi idea o necesidad es que una vez dado el comando para ejecutar el Insert, me levante un msgbox en el que me diga que los datos fueron cargadas, y que el numero de id ( autoincremetal de la tabla) es el xxxx.

Espero que alguien me halla entendido y me pueda dar una mano

Gracias
  #2 (permalink)  
Antiguo 23/08/2008, 11:46
 
Fecha de Ingreso: enero-2008
Mensajes: 144
Antigüedad: 16 años, 4 meses
Puntos: 2
De acuerdo Respuesta: Saber si los datos fueron guardados en la BD

Porque no ones un label a la derecha en el cual haces un conteo de los registros de la base (count ) dentro de un select y luego despues de grabar pones llamas a la mkisma funcion para ver si se actualizo la base con ese nuevo registro. O sino pon un mensaje despues de hacer el proceso del insert

Suerte!!!!!!
  #3 (permalink)  
Antiguo 23/08/2008, 12:07
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Saber si los datos fueron guardados en la BD

SI usas los objetos de Mysql y usas el command.ExecuteNonquery lo q te retorna es el numero de filas afectadas sera por un insert un delete o un update

asi q tan simple como tener

int numerodefilasafectadas=commnad.ExecuteNonQuery();

aunque como veo que estas haciendo algunas cosas te convendria mas usar un stored procedure.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 25/08/2008, 09:53
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Saber si los datos fueron guardados en la BD

Gracias por la rspuesta Peterpay

Y como sería la mejor forma de hacerlo??
disculpa soy medio duro, si me puedes poner un ejemplo te lo agradecería

Un saludo y gracias
  #5 (permalink)  
Antiguo 29/08/2008, 21:57
 
Fecha de Ingreso: junio-2007
Mensajes: 13
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Saber si los datos fueron guardados en la BD

bueno pues no soy a la persona a la que preguntaste pero como dijo el compañero forero, es mejor crear un procedimiento almacenado, esto donde insertes el registro nuevo y ahi revises si se pudo registrar o no, y al final regreses un valor indicando el resultado.

algo asi como:

CREATE PROCEDURE Inserta
@param1 int,
@param2 int
AS
BEGIN
INSERT INTO Tbla VALUES(@param1,@param2)
SELECT @@ROWCOUNT AS NumReg
END


en el select @@rowcount, regresarias el total de registros insertados
y este sp lo mandas llamar desde la programacion por decir en vb.net,
y si este sp te regresa 0, quiere decir que no inserto nada, de lo contrario inserto el registro...

bueno
bye
  #6 (permalink)  
Antiguo 02/09/2008, 15:03
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Saber si los datos fueron guardados en la BD

Aqui te dejo un ejemplo super simple...

Código:
public object EjecutarInstruccion(SqlConnection mSqlCnn, string TipoEjecucion, string NombreProcedimientoAlmacenado, SqlParameter[] Parametros)
        {
            SqlCommand sqlCmd;
            object oResultado = null;

            sqlCmd = new SqlCommand();

            try
            {
                if ((mSqlCnn != null) && mSqlCnn.State != ConnectionState.Open)
                {
                    mSqlCnn.Open();
                }

                sqlCmd.CommandText = NombreProcedimientoAlmacenado;
                sqlCmd.Connection = mSqlCnn;
                sqlCmd.CommandType = CommandType.StoredProcedure;
                sqlCmd.Parameters.AddRange(Parametros);
                if ((mSqlTran != null))
                {
                    sqlCmd.Transaction = mSqlTran;
                }

                switch (TipoEjecucion)
                {
                    case "NonQuery":
                        oResultado = sqlCmd.ExecuteNonQuery();
                        break;
                    case "Scalar":
                        oResultado = sqlCmd.ExecuteScalar();
                        break;
                }
                return oResultado;
            }

            catch (Exception ex)
            {
                                throw new Exception(ex);
            }
            finally
            {
                if (mSqlTran == null)
                {
                    if ((mSqlCnn != null) & mSqlCnn.State == ConnectionState.Open)
                    {
                        mSqlCnn.Close();
                    }
                }
                if ((sqlCmd != null))
                {
                    sqlCmd.Dispose();
                }
            }

        }
Esta facilito, nomas mandale lo que te pide y listo..!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:01.