La Web del Programador: Comunidad de Programadores
 
    Pregunta:  680 - DELPHI + SQL
Autor:  Claudio M
Estimados colegas, esperando me disculpen las molestias me gustaria que me pudieran ayudar con la ejecucion de un comando de SQL en Delphi 3
Al momento de ejecutar el comando ´DELETE FROM PRUEBAS´ me aparece el siguiente mensaje de error ´ERROR CREATING CURSOR HANDLE´.
A pesar del error el comando cumple con la mision de borrar la tabla indicada, pero el error no adornatia mucho el programa.
Si alguien de ustedes pudiere ayudarme a solucionar el problema estare muy agradecido

  Respuesta:  Hector Rojas
Cuando hagas una consulta debes usar query.open, cuando hagas un delete, insert, update debes usar query.Execute.

Suerte

  Respuesta:  bibian Caballero Valdez
Lo que sucede es que estas actualizando a la tabla dos veces
usando

Query1.ExecSQL;
Query1.Open;

solo debes de dejar la primera linea cuando haces una actualizacion.

  Respuesta:  Jack K.
Yo tenia un error similar al hacer un 'UPDATE FROM ...' el error se generaba porque en el codigo ponia

Query1.ExecSQL;
Query1.Open;

Pero al quitarle Query1.Open ya no hubo ningun problema y el query se ejecuto perfectamente. No se porque pero los 'INSERT', 'UPDATE' y 'DELETE' no necesitas que pongas el Query.Open.

  Respuesta:  Riki Rocha
Hola una forma facil de arreglar tu problema es en Tools del Menu hay una opcion que es Dento de Debugger options, entre las pestanas hay una opcion que te dice que si deseas que el Delphi pare por algun error.
s}descativala y compila tu programa y listo.

Suerte

  Respuesta:  Luis Mendez
Te aclaro que no uso DELPHI sino C++BUILDER, pero los entornos son identicos y comparten los componentes ... lo que se me ocurre que puedes hacer es un manejador para el error, en C++Builder es un try {tus instrucciones} catch {que hacer si da error}, y dentro de esto ultimo, coloca ... nada ... pues si el programa hace el trabajo y lo que quieres evitar es el mensaje de error, eso es todo.
Espero que te funcione.

  Respuesta:  Dairo Osorio G.
Bueno yo trabajo con delphi y la forma de hacer esto elegante es con un bloque Try... Finally
ejemplo:
try
(instruccion o instrucciones que quieres proteger)
finally
(instruccion que se ejecutarà si sucede un error)
end;

  Respuesta:  ALEX LOPEZ
SUPONGO QUE ESTAS USANDO EL COMANDO QUERY1.ACTIVE := TRUE ó QUERY1.OPEN.
TE RECOMIENTO QUERY1.EXECSQL.