Al realizar la consulta delete , me sale el siguiente error:
Mensaje:query does not return ResultSet
Estado:SQLITE_DONE
Codigo del error:101
Pero lo que pasa es que si elimina el dato, ¿como puedo arreglarlo para que no salga el error?
Gracias
Pon la consulta si puedes...
Edito: Estoy empanao xD
Esta es la consulta: "delete from Altabd where num_socio="+id;
id se lo paso por parametro
Umm a lo mejor es que después del id no cierras el punto y coma ¿?
¿Desde dónde estás haciendo la consulta para acceder a la base de datos? o sea ¿Desde que plataforma?
Salu2s
Desde NetBeans con Java
De acuerdo a
Cita de: https://www.sqlite.org/c3ref/c_abort.html#define SQLITE_DONE 101 /* sqlite3_step() has finished executing */
Cita de: https://www.sqlite.org/rescode.html
(101) SQLITE_DONE
The SQLITE_DONE result code indicates that an operation has completed. The SQLITE_DONE result code is most commonly seen as a return value from sqlite3_step() indicating that the SQL statement has run to completion. But SQLITE_DONE can also be returned by other multi-step interfaces such as sqlite3_backup_step().
La verdad no he trabajado con SQLITE desde Java, pero pregunto:
¿Cuando ejecutas la consulta le asignas eso a algo?
Pregunto ^^ por esto:
Cita de: Choke1 en 8 Agosto 2015, 20:38 PM
Mensaje:query does not return ResultSet
Lo que puedo deducir es que le estas asignando lo que devuelve la consulta a algo (ResultSet), pero la consulta es
DELETE y supongo que no devuelva (ResultSet)
Espero mis comentarios te sirvan de algo.
Añado:Leyendo un poquito más: http://stackoverflow.com/questions/7052196/sqlite-exception-insert-statement-does-not-return-a-statement
CitarWhen you are making a change and not asking for a result back, you need to call executeUpdate() instead of executeQuery()
Traduzco:
CitarCuando estás haciendo algun cambio y no esperas que se devuelva un resultado, debes llamar executeUpdate() en vez de executeQuery()
Ahora, te explico un poco:
executeQuery() --- Es utilizado generalmente para leer contenido de la base de datos. La salida estara en forma de
ResultSet. Generalmente se utilizan las sentencias
SELECTexecuteUpdate() --- Es utilizado generalmente para alterar la base de datos. Generalmente se utilizan las sentencias
DROP TABLE o
DROP DATABASE,
INSERT into TABLE,
UPDATE TABLE,
DELETE from TABLE. Importante saber que el resultado vendrá dado por un
int el cual denota el numero de filas (
rows) afectadas por la consulta.
Por último:
execute() --- Si no sabes que método utilizar para ejecutar las consultas, este método puede ser usado. Te retornará un valor
boolean.
- TRUE: Indica que el resultado es un ResultSet
- FALSE: Indica que el resultado tiene el valor int denotando el numero de filas (rows) afectadas por la consulta
Espero esto te sirva.
Salu2s
Muchas gracias por tu ayuda, me ha servido de mucho!