Cita: Mi duda es...¿Y si los datos que le paso como nombre y dni no existen? ¿Como podría hacer que me detectara que no existen esos datos y me diera un error?
Usualmente los conectores que usas para acceder a la base de datos desde la aplicación pueden leer un resultado que el DBMS obtiene internamente en ese caso y que representa la cantidad de registros afectados por la última sentencia de modificación (INSERT, UPDATE o DELETE).
Cuando ese resultado es cero, significa que no se insertó, actualizóo borró nada, por lo que puedes deducir que hay algún problema con las condiciones.
Dependerá, pues, del lenguaje de programación usado y el conector a la base cuál sea esa función.
Lo que en realidad se suele hacer, si quieres aprender a programar bien, es SIEMPRE validar si los datos son correctos por medio de una busqueda simple con SELECT, y sólo hacer ese UPDATE cuando realmente se valide que existen datos modificables.
Es decir que primero haces:
Código SQL:
Ver originalSELECT COUNT(*) existe
FROM personas
WHERE nombre='"+ nom +"' AND dni='" + dni
y recién si el resultaod de eso es 1, haces el UPDATE.
Eso, si quieres programar correctamente.