Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-12-2012
montesoft montesoft is offline
Miembro
 
Registrado: sep 2006
Posts: 17
Poder: 0
montesoft Va por buen camino
update, insert, delete fibplus, ayuda!!!

Muy buenas tardes, debido a algunos inconvenientes con ibx decidí usar fibplus, la documentación y ejemplos q ofrece el desarrollador no es muy clara o detallada. En delphi puedo realizar una consulta con el tpFIBDataset sin problemas pero a la hora de insertar (INSERT),modificar (UPDATE) o eliminar (DELETE) la instruccion no genera error pero no hace lo q se necesita, el código base q uso es el siguiente:
Código Delphi [-]
with tpFIBDataset1 do
 begin
  Close;
  UpdateSQL.Clear;
  UpdateSQL.Text := 'UPDATE TABLA SET CAMPO = ' + VALOR + ' WHERE CAMPO = ' + VALOR;
  Open;
 end;

Alguien me puede ayudar?, de antemano mil gracias.
Responder Con Cita
  #2  
Antiguo 10-12-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si no sabes conducir, al cambiar de coche, sigues sin saber . ¿Por qué cambiaste de IBX a FIBplus?, ¿y qué problema es el que tienes?
¿Te podemos ayudar?, anda, léete la guía de estilo
Responder Con Cita
  #3  
Antiguo 10-12-2012
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

La mayoría de los componentes para acceso a Firebird/Interbase (y puede que para cualquier base de datos), usan el método ExecSQL cuando lanzas una consulta que modifica los datos en la base de datos.

En tu caso, prueba usando el método ExecSQL (o alguno equivalente para esos componentes) en lugar de Open.



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #4  
Antiguo 10-12-2012
montesoft montesoft is offline
Miembro
 
Registrado: sep 2006
Posts: 17
Poder: 0
montesoft Va por buen camino
Los inconvenientes se presentaban al usar la instruccion INSERT INTO con valores string (ya ni me acuerdo lo q decia el error), buscando la posible solucion m dijeron q el problema era en el archivo ibquery.pas y me ofrecieron el codigo para corregirlo pero eso no pasó. Ademas no he encontrado documentación o ejemplos para realizar la relacion maestro - detalle asi q opte x otra alternativa.
Responder Con Cita
  #5  
Antiguo 10-12-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ufff... has mezclados muchas preguntas, tendrás que ir paso a paso, creo que mejor mira este hilo, es un minitutorial que creó Caral.
Responder Con Cita
  #6  
Antiguo 10-12-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Y también te interesa este otro, está en formato pdf.
Responder Con Cita
  #7  
Antiguo 10-12-2012
montesoft montesoft is offline
Miembro
 
Registrado: sep 2006
Posts: 17
Poder: 0
montesoft Va por buen camino
No existe una instruccion EXECSQL ni he encontrado un equivalente.
Responder Con Cita
  #8  
Antiguo 10-12-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por montesoft Ver Mensaje
No existe una instruccion EXECSQL ni he encontrado un equivalente.
Entonces es que no has leido nada de lo aconsejado.
Responder Con Cita
  #9  
Antiguo 10-12-2012
montesoft montesoft is offline
Miembro
 
Registrado: sep 2006
Posts: 17
Poder: 0
montesoft Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Entonces es que no has leido nada de lo aconsejado.
A ver "Casimiro Notevi", en primera empiezas diciendo q son muchas preguntas, es solo una "xq no funciona el codigo q planteo en fibplus?", 2 - me recomiendan q pruebe la instruccion EXECSQL y le respondo q esa no existe para fibplus, x ultimo tu aconsejas q lea un hilo y un pdf (ya los lei), eso q está allí yo lo se hacer, pero igual no responde a mi inquietud.
Responder Con Cita
  #10  
Antiguo 10-12-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Te he pasado enlace a un minitutorial también.
Disculpa, pero si supieras todo eso, como dices, no tendrías estas dudas, es como si dices que sabes multiplicar y preguntas cómo se suma :S

Para select... usa .open
Para update, insert, delete... usa .execsql (tanto con IBX como con FIBplus)
Responder Con Cita
  #11  
Antiguo 10-12-2012
montesoft montesoft is offline
Miembro
 
Registrado: sep 2006
Posts: 17
Poder: 0
montesoft Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Te he pasado enlace a un minitutorial también.
Disculpa, pero si supieras todo eso, como dices, no tendrías estas dudas, es como si dices que sabes multiplicar y preguntas cómo se suma :S

Para select... usa .open
Para update, insert, delete... usa .execsql (tanto con IBX como con FIBplus)
Amigo no se q version de fibplus usas (tengo la 6.9.9) pero los TPFIBDATASET no tienen un metodo EXECSQL, ya lo busque y nada. En todo caso agradezco tu paciencia.
Responder Con Cita
  #12  
Antiguo 10-12-2012
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Si vas a usar las propiedades UpdateSQL, InsertSQL y DeleteSQL de TPFIBDataSet, estas no se ejecutan mediante Open, si no usando los métodos Edit, Insert y Delete y en los casos de los dos primeros, tienes que hacer un Post al finalizar de modificar los datos. Esto es de la misma forma en que lo harías usando un TIBDataSet.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #13  
Antiguo 10-12-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
El FIBquery, te aconsejo que uses ese.
El FIBdataset úsalo cuando quieras hacer selects y necesites mostrar el resultado en un dbgrid, por ejemplo.
Responder Con Cita
  #14  
Antiguo 10-12-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si leyeras el tutorial, no te ocurriría esas cosas, ni tendrías que cambiar de componentes por desconocimiento, amigo. Hay que leer, mirar lo que hacen otros, probar, etc.
No hay otra forma de aprender.
Responder Con Cita
  #15  
Antiguo 10-12-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por montesoft Ver Mensaje
Muy buenas tardes, debido a algunos inconvenientes con ibx decidí usar fibplus, la documentación y ejemplos q ofrece el desarrollador no es muy clara o detallada.
Hola montesoft.

Revisando uno de estos enlaces pude leer:
Cita:
...

Basic principles of work with datasets

TpFIBDataSet enables developers to select, insert, update and delete data. All these operations are executed by TpFIBQuery components in TpFIBDataSet.

To select data you set the SelectSQL property. It’s similar to setting the SQL property of the QSelect component (TpFIBQuery type). Define the InsertSQL.Text property to insert data, UpdateSQL.Text to update, DeleteSQL.Text to delete and RefreshSQL.Text to refresh the data.

We will use a demo database employee.gdb (or .fdb for Firebird) to show how to write Select
SQL and get a list of all employees. We will write all queries in InsertSQL, UpdateSQL, etc.
Código Delphi [-]
with pFIBDataSet1 do
begin
  if Active then Close;
  SelectSQL.Text := 'select CUST_NO, CUSTOMER, CONTACT_FIRST, CONTACT_LAST from CUSTOMER';
  InsertSQL.Text := 'insert into CUSTOMER(CUST_NO, CUSTOMER, CONTACT_FIRST, CONTACT_LAST )'+
                    ' values (:CUST_NO, :CUSTOMER, :CONTACT_FIRST, :CONTACT_LAST)';
  UpdateSQL.Text := 'update CUSTOMER set CUSTOMER = :CUSTOMER, '+
                    'CONTACT_FIRST = :CONTACT_FIRST, CONTACT_LAST = :CONTACT_LAST '+
                    'where CUST_NO = :CUST_NO';
  DeleteSQL.Text := 'delete from CUSTOMER where CUST_NO = :CUST_NO';
  RefreshSQL.Text:= 'select CUST_NO, CUSTOMER, CONTACT_FIRST, CONTACT_LAST ' +
                    'from CUSTOMER where CUST_NO = :CUST_NO';
  Open;
end;
...
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #16  
Antiguo 10-12-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que decir que FIBplus tiene una documentación escasa y poca clara, cuando realmente tiene una impresionante documentación con ejemplos de todos los componentes, tutoriales, etc.
Pues eso, que si no se lee... pasan estas cosas.
Responder Con Cita
  #17  
Antiguo 10-12-2012
montesoft montesoft is offline
Miembro
 
Registrado: sep 2006
Posts: 17
Poder: 0
montesoft Va por buen camino
Cita:
Empezado por maeyanes Ver Mensaje
Hola...

Si vas a usar las propiedades UpdateSQL, InsertSQL y DeleteSQL de TPFIBDataSet, estas no se ejecutan mediante Open, si no usando los métodos Edit, Insert y Delete y en los casos de los dos primeros, tienes que hacer un Post al finalizar de modificar los datos. Esto es de la misma forma en que lo harías usando un TIBDataSet.


Saludos...
Ok amigo, muchas gracias (no pensé q seria como paradox) y para "ecfisa" creeme q eso lo intenté pero fijate q todas usan un metodo "open" al final y al parecer solo es util para los "select". Muchas gracias por la ayuda prestada.
Responder Con Cita
  #18  
Antiguo 10-12-2012
montesoft montesoft is offline
Miembro
 
Registrado: sep 2006
Posts: 17
Poder: 0
montesoft Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Es que decir que FIBplus tiene una documentación escasa y poca clara, cuando realmente tiene una impresionante documentación con ejemplos de todos los componentes, tutoriales, etc.
Pues eso, que si no se lee... pasan estas cosas.
Hombre, yo en ningun momento dije q fuera escasa. No crees q hubiera sido suficiente con una respuesta como la q m dió "maeyanes" o tu mismo al decir q usara fibquery?. Demos el asunto x terminado no crees.
Responder Con Cita
  #19  
Antiguo 11-12-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola montesoft.

Primeramente tengo que aclararte que no he tenido ni el más mínimo roce con esos componentes.

Pero me estaba preguntando si el componente TpFIBDataSet no tendrá similitud con el TIBDataSet donde, una vez definidas las sentencias SQL basta con ponerlo en modo edición (Edit), o inserción(Append,Insert), realizar los cambios y por último guardarlos con(Post)...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #20  
Antiguo 11-12-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por montesoft Ver Mensaje
Hombre, yo en ningun momento dije q fuera escasa.
Cierto, dijiste:
Cita:
Empezado por montesoft Ver Mensaje
... decidí usar fibplus, la documentación y ejemplos q ofrece el desarrollador no es muy clara o detallada.
Cita:
Empezado por montesoft
No crees q hubiera sido suficiente con una respuesta como la q m dió "maeyanes" o tu mismo al decir q usara fibquery?. Demos el asunto x terminado no crees.
No hay ningún problema, montesoft, pero en los dos tutoriales que te he indicado usan IBquery, por eso te indiqué esos, precisamente, para que vieras la diferencia, y no te indiqué otros tutoriales ni hilos donde se ha tratado el tema.
Responder Con Cita
Respuesta



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
Insertar sentencia SQL despues de Insert,update o delete vivamotos Firebird e Interbase 10 02-08-2011 18:24:30
Mismatch DataPacket al realizar insert, delete o update Rockin Firebird e Interbase 0 07-04-2008 19:47:56
Insert, Update, Delete+MySQL+Zeos+Master/Detail BlackDaemon MySQL 4 03-04-2007 12:04:07
Trigger Before (Insert,update,delete)? estebanx MS SQL Server 2 25-05-2006 15:58:19
Como crear una sentencia SQL (Insert, update y delete) sitrico Conexión con bases de datos 1 14-10-2004 00:02:42


La franja horaria es GMT +2. Ahora son las 18:59:23.


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