Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   SQL statement doesn’t return rows (https://www.clubdelphi.com/foros/showthread.php?t=24074)

Jose Manuel 07-08-2005 19:21:46

SQL statement doesn’t return rows
 
Hola a todos:

Estoy trabajando con D6, componentes ODAC y Oracle 9i y tengo el siguiente problema: cuando borro todos los datos de una tabla, me aparece el siguiente mensaje:

Cita:

Debugger Exception Notification
Project prueba.exe raised exception class Exception with message “SQL statement doesn’t return rows”. Process stopped. Use Step or Run to continue.
Y entonces en la tabla donde he borrado los datos, no puedo añadir ningún registro, hasta que no hago una consulta, y esto también me ocurre cada vez que inserto un registro.

Mi pregunta es, si alguien puede decirme porque si borro la tabla con la orden “DELETE FROM ”, o inserto un registro mediante “INSERT INTO …”, me aparece esta excepción en el segundo registro que intento añadir.

Un saludo a todos.
Jose Manuel García

Sotrono 08-08-2005 01:13:44

Hola.
Nunca utilice esos componentes, pero tanto DELETE FROM..., como INSERT INTO... los tenes que ejecutar desde el componente con el que te conectas a la base de datos y no desde la tabla.

Saludos...

Neftali [Germán.Estévez] 08-08-2005 09:40:16

¿Puedes colocar el código que estás utilizando?
Será más sencillo detectar el problema.

Lepe 08-08-2005 14:15:08

Intenta poner:

query1.ExecSql

supongo que estas usando query1.Open, y como no es una consulta de selección de datos, por eso te sale el cartelito.

Si la consulta es un SELECT utiliza query1.Open
Si es UPDATE, INSERT, DELETE, etc. usa query1.ExecSql.

Un saludo.

Jose Manuel 10-08-2005 12:10:36

SQL statement doesn’t return rows
 
El problema ha quedado resuelto, la solución ha sido utilizar el componente de ODAC OraSQL para las operaciones que no devuelven filas, en lugar de un OraQuery.

Gracias por la ayuda.

Un saludo.

Diego827 07-11-2015 00:31:41

Cita:

Empezado por Lepe (Mensaje 100502)
Intenta poner:

query1.ExecSql

supongo que estas usando query1.Open, y como no es una consulta de selección de datos, por eso te sale el cartelito.

Si la consulta es un SELECT utiliza query1.Open
Si es UPDATE, INSERT, DELETE, etc. usa query1.ExecSql.

Un saludo.

Muchísimas gracias Lepe.


La franja horaria es GMT +2. Ahora son las 17:05:07.

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