Curso Lenguaje GO

cantidad registros afectados mysql desde vb6

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

  • 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

  • #2
    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...
    José María Movilla Cuadrado
    ______________________
    Normas del foro
    www.foro.vb-mundo.com
    www.vb-mundo.com

    Comentario


    • #3
      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
      Una visita a las Normas del foro nunca viene mal

      Comentario


      • #4
        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...
        José María Movilla Cuadrado
        ______________________
        Normas del foro
        www.foro.vb-mundo.com
        www.vb-mundo.com

        Comentario


        • #5
          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
          Una visita a las Normas del foro nunca viene mal

          Comentario

          Trabajando...
          X