FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
TRaduzir Key Violation ZEOS
Ola amigos,
Alguém sabe como traduzir "Key Violation" no ZEOS? Gracias, WaRRanT Abraços a todos! |
#2
|
||||
|
||||
Hola.
Un Key Violation no es un error propio de un determinado componente. Usualmente se da por intentar utilizar propiedades o métodos de una instancia inexistente de un objeto. Ya sea porqué esa instancia aún no ha sido creada, ya ha sido liberada, etc. ... Tienes que seguir el código con el debugger, y en la linea que da el error, comprobar que problema puede tener el objeto en el que falla la llamada. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#3
|
||||
|
||||
Cita:
Un saludo |
#4
|
|||
|
|||
"SQL Error: Duplicate entry '11111111' for key 1."
Isso não é equivalente ao "KEY VIOLATION"? Não tem como eu tratar este erro? Gracias, WaRRanT Abraços! |
#5
|
||||
|
||||
Jejeje, tienes toda la razón Román (que verguenza, vaya lapsus)
En efecto WaRRanT, ese error es un KEY VIOLATION. ¿ No lo puedes capturar en un try .. except ?. Aunque desconozco como se accede a la información del Error en las Zeos. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#6
|
|||
|
|||
Eu fiz da seguinte maneira:
procedure TFrmConfSimples.QyMovValesBeforePost(DataSet: TDataSet); begin QyPesqVales.Active := False; QyPesqVales.SQL.Clear; QyPesqVales.SQL.Add('Select * from MovVales Where Numero = "'+DbEdit3.Text+'"'); QyPesqVales.Active := True; QyPesqVales.ExecSQL; If not QyPesqVales.Eof then begin Sound(3000,1000); MessageDlg('Este Vale já existe!'+#13+'Favor Conferir o Vale '+#13+' nº '+FrmConfSimples.Dbedit3.text, MtError,[Mbok],0); Abort; Dbedit3.SetFocus; Dbedit3.Clear; end; end; end. Mas acontece que existindo ou não o registro, o EOF sempre aparece TRUE..... |
#7
|
||||
|
||||
Mira a ver si tienes disponible la propiedad IsEmpty.
Código:
If not QyPesqVales.IsEmpty then
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#8
|
||||
|
||||
No uses ExecSql para consultas SELECT. Por otra parte creo qe simplemente puedes usar QyPesqVales.RecordCount para saber si la consulta regresó o n o resultados.
// Saludos |
#9
|
|||
|
|||
Gracias amigos!
Mas o EOF não teria tambiem que funcionar neste caso? Abraços! |
#10
|
|||
|
|||
Roman,
Gracias! O problema era mesmo o EXECSQL... Abraços! |
|
|
|