Curso Lenguaje GO

cantidad registros afectados mysql desde vb6

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar todos
nuevos mensajes

  • g_cury
    inició un tema cantidad registros afectados mysql desde vb6

    cantidad registros afectados mysql desde vb6

    Alguien que me pueda hechar una mano,
    estoy haciendo algunos insert/update/delete en algunas tablas desde Visual Basic 6 y por algunos errores que aun no descubro quiero ir verificando los registros afectados en cada sentencia mysql. Les paso un ejemplo de como estructure un update sencillo para ver si me pueden dar una ayuda de como sacar la cantidad de registros que fueron afectados por la sentencia. Gracias
    strsql = "UPDATE discapacidad SET " _
    & "plazo = '" & fechaPlazoCertificado & "', " _
    & "plazo_primer_prorroga = '" & fechaPrimerProrroga & "', " _
    & "numero_prorroga = '" & cantidadProrrogas & "' " _
    & "where id =" & idReferencia & ""
    conexionPrincipal.Execute strsql

  • gilman
    respondió
    Tienes razón, si quieres saber que registros se verán afectados será necesario hacer una select, pero normalmente lo que se busca es saber si el comando ha fallado, fallado en el sentido de que no ha actualizado ningún registro, si te fijas en la sentencia tiene toda la pinta de que el camo id es la PK de la tabla, así que será suficiente con ver que RecordsAffected es 0 para saber que dicho idReferencia no existe, bien porque alguién lo ha borrado o bién porque se introdujo un valor no existente en la BD

    Deja un comentario:


  • J_M_Movilla
    respondió
    Muy bueno, amigo gilman.

    No conocía ese parámetro RecordsAffected, aunque lo cierto es que nunca he valorado el conocer ese dato...

    Lo malo es si lo que desea es conocer qué registros son los que han sido modificados...

    Deja un comentario:


  • gilman
    respondió
    Supongo que estás usando ADODB, si es así, el método Execute admite un segundo parámetro en el cual devuelve el número de registros afectados por la sentencia.
    Prueba:
    Código:
        Dim RecordsAffected As Long
    
        strsql = "UPDATE discapacidad SET " _
            & "plazo = '" & fechaPlazoCertificado & "', " _
            & "plazo_primer_prorroga = '" & fechaPrimerProrroga & "', " _
            & "numero_prorroga = '" & cantidadProrrogas & "' " _
            & "where id =" & idReferencia & ""
        conexionPrincipal.Execute strsql, RecordsAffected
        Debug.Print RecordsAffected

    Deja un comentario:


  • J_M_Movilla
    respondió
    Si lo que pretendes es saber cuántos registros has modificado y el ID de los modificados, tal como tienes estructurada la tabla, creo que no tienes ninguna base para averiguarlo, ya que (que yo sepa) no existe ninguna instrucción para comprobar qué registros han sido actualizados recientemente.
    Tendrías que tener un campo en el que guardases el valor de uno de los campos antes de la modificación... o preferiblemente generar una tabla en la que fueras grabando los registros que vayas modificando, que tendrías que inicializar al comenzar la actualización de registros...

    Deja un comentario:

Trabajando...
X