FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
excepcion con ado
Hola, despues de haber leido la mayoria de los post en cuanto al manejo de excepciones sigo sin poder resolver el problema.
Tengo ke insertar tuplas en una tabla pero no repetir tuplas existentes. o sea ,, es un insert ke hago sin revisar ke la clave primaria no se repita, lo ke kiero es poder manejar la exepcion de CLAVE REPETIDA. uso, Sqlserver 2000 y ADO conection. el codigo es: Código Delphi [-]procedure TForm1.Button2Click(Sender: TObject); begin insert.Close; insert.Parameters.ParamByName('id').value:= 10; insert.Parameters.ParamByName('nombre').value:= 10; insert.Parameters.ParamByName('telefono').value:= 10; insert.Parameters.ParamByName('email').value:= 10; insert.Prepared; try insert.ExecSQL except on e:Exception do begin MessageDlg('El registro que desea editar, ya está',mtError, [mbOK], 0); raise; end; end; end; haciendo esto , no se porke nunca catura la excepcion y siempre se detiene el programa y sale el cartel de error del debuger "EOLEEXCEPTION".. gracias por leer. saludos RAFFA |
#2
|
||||
|
||||
¡Hola Raffa!
De entrada se recomienda algo más de propiedad a la hora de hacer las preguntas. Ya sabes, no usar "k"s y revisar la semántica del texto para que quede amigablemente legible. Hacer esto es una muestra de respeto hacia los demás y habla bien de ti. Respondiendo a tu pregunta, es probable que lo que estás viendo sea el mensaje que muestra el depurador cuando se compila y ejecuta una aplicación desde el entorno de Delphi y ocurre una excepción. Dicho mensaje es para ti, pero al usuario no le aparecerá. El usuario verá el que viene en seguida y que has colocado en la sección Except. Podrás distinguir la diferencia si ejecutas el archivo .exe generado desde fuera de Delphi (aunque hay otra forma de evitar los mensajes de excepción del depurador). De cualquier manera, no es algo que moleste demasiado. Si le das continuar observarás que aparece el mensaje que tú programaste. Claro, todo esto siempre y cuando la excepción OLE esté siendo disparada por la sentencia "insert.ExecSQL", como se infiere que es a falta de mayor información de tu parte. Mucho éxito en tu proyecto, no dejes de comentarnos sobre tus avances. Al González. |
#3
|
||||
|
||||
gracias por la respuesta. la verdad que nunca imagine que podria resultar diferente la ejecucion desde el compilador y desde el propio ejecutable.
muchisimas gracias por la pronta respuesta. y pido disculpas por lo escrito. saludos RAFFA |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Excepcion con ADO | SidedTermita | Conexión con bases de datos | 11 | 12-12-2007 02:21:04 |
Excepción en JSP | david.rguez | JAVA | 1 | 14-02-2007 22:21:02 |
excepcion | nenufer | Conexión con bases de datos | 6 | 16-05-2006 22:01:38 |
excepcion EIBInterBaseError | dmagui | Firebird e Interbase | 4 | 08-06-2005 09:37:13 |
Tipo de Excepción | AGAG4 | Varios | 3 | 07-09-2004 02:27:40 |
|