Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-05-2006
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
error en deleteSQL

Buenas a todos, tengo este código en el DeleteSQL de FIBPlus(trial):

Código SQL [-]
DELETE FROM
    facturas
WHERE
        INCREMEN = ?VALOR2
y al pasarle el parametro de la siguiente manera:

dtDETAIL.active:=false;

dtDETAIL.ParamByName('VALOR2').Value:=strtoint(edit2.Text);
dtDETAIL.Active:=true;

form1.dtDETAIL.Delete;

la aplicación me da por error que el parametro VALOR2 no existe en form1.dtDETAIL y no veo cual es mi error, si alguien me puede ayudar.

Gracias...
Responder Con Cita
  #2  
Antiguo 23-05-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Poder: 18
anghell77 Va por buen camino
Probablemente

Hola!

Mira, a mi entender, que no es mucho, pero espero que pruebes, te esta ocasionando un error porque tienes el componente Query en el Form, mas no es necesario que la mandes llamar con Form1.Query

yo he empleado SQL en Query's como tu

Delete from Tabla
where Campo=: parametro

ya en tu codigo(donde ejecutes el query):

Query1.Close; //no se si esta instruccion esté demás en los Delete's, pero igual yo la empleo.
Query1.ParamByName('parametro').as(tipo):=trim(EDIT1.Text);
(En tu caso la operacion de conversion despues del parametro)
y al finalizar
Query1.EXECSQL;

Como lo entiendo, supongo que no ejecuta el DELETE, porque le falta la instruccion EXECSQL, que se emplea tanto para los DELETE, como para los INSERT y los UPDATE...

En una consulta normal (select *from....) si sirve el Query1.Active:=true;
o Query1.Open;

Intenta ese codigo. pero, ¡¡¡atento!!!, como te señalé, es mi punto de vista y probablemente haya confundigo tu pregunta con mis procedimientos. Pruebalo cuidadosamente....(pudiera parecer falta de confianza en mi, pero estar prevenido es mejor no??)

Saludos
__________________
"...Ayer Bastaba un Sueño..."
Responder Con Cita
  #3  
Antiguo 23-05-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Poder: 18
anghell77 Va por buen camino
Error por no leer historial!!


Leyendo tus mensajes anteriores vi que empleas FIREBIRD...

y....te di algo que probablemente no funcione en FIREBIRD, de lo cual no se mas que el nombre y su pronunciación..

Así que, no sé si la instruccion EXECSQL, sólo aplique para Paradox o también para FIREBIRD , por lo tanto a nombre de JoanaJJ, pido que alguien le brinde ayuda....

y lo siento si te he confundido..... y si no ha sido asi y te ha ayudado...pues
puedo sentirme menos torpe....jejeje
__________________
"...Ayer Bastaba un Sueño..."
Responder Con Cita
  #4  
Antiguo 23-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
No hace falta más ayuda, tú la has brindado correctamente .

Usando Access he visto por el foro que no hay que usar .ExecSql pero, por regla general se usa .Open para consultas de selección y .ExecSql para consultas de acción (update, insert, create, etc).

En algún hilo he visto como se usa .Open para crear desde delphi un Store Procedure, pero no he hecho pruebas.

Ahora que lo pienso... quizás esté liando más la cosa

Prueba los MDOLIB (Mercury Data Object) son diferentes a los FIBPlus pero son OpenSource
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 23-05-2006
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
Gracias a todos

Gracias por la respuesta, probaré para ver si hay suerta y ya os cuento.

Un saludo...
Responder Con Cita
  #6  
Antiguo 24-05-2006
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
solucionado

Buenas de nuevo, ya está resuelto el problema(buscando por el foro). Al no especificar nada, el parametro se pasaba al SQLSelect, y para pasarlo al SQLdelete me faltó poner:

dtdetail.QDelete.ParamByName('valor2').Value:=strtoint(edit2.Text);

Gracias por vuestra ayuda...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error Abstract Error y Access violation zvf OOP 33 08-09-2010 19:50:33
Error 10093 al ver un informe - Que error es este? URBANO Impresión 1 03-02-2006 19:44:39
¿Por qué me da este error?Error creating cursor manejador nuri SQL 2 01-08-2005 18:30:28
Error: RichEdit line insertation error DarkByte Varios 3 19-07-2004 13:28:09
Sql Error: error cannot insert a duplicate......................... inexperto SQL 2 04-06-2004 13:54:59


La franja horaria es GMT +2. Ahora son las 23:43:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi