gambafeliz   30-09-2021, 16:08
#1
Hola a tod@s

Estoy intentando borrar una fila de un Result pero cuando utilizo Delete() me dice que es de solo lectura.

Por favor, alguna pista para solucionarlo o truco donde paso un result sin la fila que yo desee. En fin, os dejo que vuele vuestra imaginación.

Gracias.

===================== Solución ======================================

Basicamente la solución la describe el tutorial de Gambas en el apartado Result: http://gambaswiki.org/wiki/comp/gb.db/result

Pero para resumir la solución de mi problema es como se obtiene el Result mediante el código de Gambas.

Method
Result Type

Create Read/Write
Edit Read/Write
Exec Read Only
Find Read Only

En mi caso normalmente uso Exec que como pueden ver es Read Only por lo tanto no es posible usar Delete. Pero si fuera empleado Create, entonces la cosa fuera cambiado y sería posible usar Delete. Con esto entiendo que queda clara la resolución de mi duda.

Espero que le sirva a alguien, saludos.
Última modificación: 02-10-2021, 09:56 por gambafeliz.
Shordi   30-09-2021, 17:05
#2
¿La tabla tiene clave primaria?

No podemos regresar
gambafeliz   30-09-2021, 17:12
#3
Si

Integer primary key Autoincrement
gambafeliz   30-09-2021, 20:36
#4
Otra cosa más:

1. Yo ejecuto un Select contra la Base de datos y obtengo los resultados hacia el Result
2. Entiendo que el Result obtiene unos datos de solo lectura pero, como no se, como es por dentro, pues, no se si los guarda en como una tabla en memoria.
3. ¿Por que existe Delete() en el Result si no es posible usarlo?, ya que para manejar un result siempre entiendo que es para obtener un Select y así manejarlo desde Gambas.

¿No es correcta mi deducción?
Shordi   01-10-2021, 07:35
#5
Pides ayuda voluntaria y gratis, pero no facilitas el trabajo.

Código please. Estructura de la BD y código. Sin eso...

Saludos

No podemos regresar
david   24-12-2021, 12:07
#6
yo no lo e utilizado nunca, pero si es para borrar un registro no se utiliza el result siempre se a utilizado como una orden try
en este caso no se lo que tienes de codigo pero para borrar un registro prueba esto
 
Código:
Try Conexion.Exec("delete From laTabla where registrossea=&1")

y va desde la conexion no desde el result con lo que me as explicado espero haberte entendido y ayudado

por otra parte haber si el error esta en la conexion que y no como lo estas utilizando en el sentido que si no tienes permiso mira esto al abrir la conexion
 
Código:
 
 With OConexion
    
  '.Host = "122.122.221.1"
  '.Port = "3307"
  '.Login = "root"
  '.Password = "12345"
  '.Name = "Fotos"
  '.Type = "MySql"
  .Host = User.Home & "direccinon base de datos"
  .Name = "basededatos.db"
  .Type = "sqlite3" 
    
    End With
espero haberte ayudado
gambafeliz   24-12-2021, 12:56
#7
Gracias de todas formas, David, y te deseo Feliz Navidad.

Pero lo que yo buscaba era borrar dentro del Result y lo que tu dices es para borrar algo en la base de datos.

Saludos
  
Usuarios navegando en este tema: 3 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.