Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-03-2014
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Cómo ejecuto Select en SimpleDataSet

He pensado que usar el SimpleDataSet sería más simple, pero de esto nada. Hago uso de este código y no da ni error, ni respuesta alguna
Código Delphi [-]
procedure TPictures1.BitBtn9Click(Sender: TObject);
begin
  SimpleDataSet1.DataSet.Close; //Active:=False;
  SimpleDataSet1.DataSet.CommandText:= 'Select * from WB where NUM = 50'; // 
  SimpleDataSet1.DataSet.CommandType:=ctQuery;
  SimpleDataSet1.DataSet.Open; //Active:=True;
end;
Si se pueden usar parámetros, pues mejor. He buscado por el foro y no he podido aclarar esta duda.
Muchas gracias.
PD: he añadido el Refresh y ya va. Gracias.

Última edición por ecfisa fecha: 10-03-2014 a las 21:55:19. Razón: He visto la solución en el foro
Responder Con Cita
  #2  
Antiguo 10-03-2014
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 bulc.

Funciona correctamente aplicando Open/Close sobre el TSimpleDataSet en lugar de hacerlo sobre la propiedad DataSet:
Código Delphi [-]
...
  with SimpleDataSet1 do
  begin
    Close; // <-
    DataSet.CommandType:= ctQuery;
    DataSet.CommandText:= 'SELECT * FROM WB WHERE NUM = :PNUM';
    DataSet.ParamByName('PNUM').AsInteger:= StrToInt(Edit1.Text);
    Open; // <-
  end;
...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 11-03-2014
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Gracias por tu contestación

Gracias Ecfisa
Había conseguido solucionarlo a base de tantear. Suponía que tenia que ser muy parecido al TIBQuery salvo en comando CommandType. Ahora a ver como me las apaño para hacer un M/Detail.
Responder Con Cita
  #4  
Antiguo 11-03-2014
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 bulc Ver Mensaje
...Ahora a ver como me las apaño para hacer un M/Detail.
Hola bulc.

Un ejemplo:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
 // TSimpeDataSet maestro
 with SDSMaster do
  begin
    Connection:= SQLConnection1;
    DataSet.CommandText:= 'SELECT * FROM MAESTRO';
    Open;
  end;
  // TSimpleDataSet detalle
  with SDSDetail do
  begin
    Connection:= SQLConnection1;  
    MasterSource:= dsMaster;
    DataSet.DataSource:= dsMaster;
    DataSet.CommandText:= 'SELECT * FROM DETALLE WHERE ID_MAESTRO = :ID';
    IndexFieldNames:= 'ID_MAESTRO';
    MasterFields:= 'ID';
    Open;
  end;
end;
Es similar a configurar una relacion master/detail en BDE y como todas las propiedades usadas son publicadas, es configurable desde el Object Inspector en tiempo de diseño.

Pero no utilizo dbExpress en mis desarrollos, por lo que te recomiendo que también revises estos enlaces:
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 11-03-2014 a las 19:21:33.
Responder Con Cita
  #5  
Antiguo 12-03-2014
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
He salido del apuro mira como...

Tengo tablas Orden, Familia, Especie de pájaros. He enlazado Familia con Orden y Especie con Familia mediante ISQL de Firebird. Luego me he inventado una seudo relación Maestro-Detalle. Uso el evento OnDataChange del DataSource y cada vez que se cambia de registro en Especie se recoge el FNum del CDS de Especie y se pasa al de Familia haciendo un locate. Lo mismo hago con Familia respecto a Orden. Uso componentes InterBase y DataAccess.
ClientDataSet2.Locate('Campo', ValorDePaso, []) No sé si rompo alguna ortodoxia delfina...
sobre el ClientDataSet2 que es el de Familia. No doy más detalles porque va de memoria. Me va bien pero parece un poco de pueblo. Lo que haré será seguir tus consejos. Pero vaya, funcionar, funciona.
Las órdenes no se mueven y las familias tampoco son tantas, así que eso.
Gracias egfisa, por tu valiosa ayuda.
bulc
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
Como Ejecuto una Apliacacion Externa adls65 Varios 4 22-09-2011 09:41:29
¿Cómo ejecuto parámetros en un DTS? mirkop84 SQL 2 23-06-2006 00:58:05
Actualizar Correlativo...? como lo ejecuto BlueSteel Firebird e Interbase 2 21-06-2006 05:37:26
como ejecuto un .exe Johnny DelphiPACK 1 17-12-2004 15:36:45
Como saber que SubMenu se ejecuto rjsitruiz Varios 6 14-07-2004 22:33:04


La franja horaria es GMT +2. Ahora son las 17:12:44.


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