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 04-10-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Componente TSQLQuery del DBExpress

Hola Chicos como están?

Trabajando un poco con el componente TSQLQuery del DBXpress a una base de datos de Firebird quise hacer lo siguiente:

en mi TSQLQuery llamdo qConsultaFechaAgenda en la propiedad string tengo lo siguiente:

Código SQL [-]
SELECT FECHA, id_empleado FROM AGENDA WHERE Fecha =Fecha and id_empleado =Id_empleado

Cuando Abre el formulario principal lo que deseo es solamente me muestre las actividades de la agenda de quien ingreso previamente guardado en dos tablas llamada Agenda y Recordatorio. así que en el evento OnShow tengo lo siguiente:

Código Delphi [-]
procedure TfrmPrincipal.FormShow(Sender: TObject);
begin
  dmConecta.qConsultaFechaAgenda.Close;
  dmConecta.qConsultaFechaAgenda.Params.ParamByName('pFecha').AsDate := Now;
  dmConecta.qConsultaFechaAgenda.Params.ParamByName('pID_EMPLEADO').AsInteger := IdEmpleado;
  dmConecta.qConsultaFechaAgenda.ExecSQL(False);
  dmConecta.qConsultaFechaAgenda.Open;
  if dmConecta.qConsultaFechaAgenda.RecordCount >= 1  then
  begin
    frmPrincipal.LblActividades.Caption := 'Usted Actualmente tiene Actividades';
  end
  else
    begin
    frmPrincipal.LblActividades.Caption := 'Usted No tiene Actividades';
    end;
end;

Pero lo bonito es que me envía este mensaje: [0x0005]: Operation Not Supported.

Estoy usando mal el componente?


Saludos


novato_erick
Responder Con Cita
  #2  
Antiguo 05-10-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 novato_erick.

La propiedad RecordCount no es fiable en todos los componentes, proba de este modo:
Código Delphi [-]
  with dmConecta.qConsultaFechaAgenda do
  begin
    Close;
    Params.ParamByName('pFecha').AsDate := Now;
    Params.ParamByName('pID_EMPLEADO').AsInteger := IdEmpleado;
    ExecSQL(False);
    Open;
    if IsEmpty then
      frmPrincipal.LblActividades.Caption := 'Usted No tiene Actividades'
    else
      frmPrincipal.LblActividades.Caption := 'Usted Actualmente tiene Actividades';
  end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 05-10-2012
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Me parece que la llamada a ExecSQL sale sobrando
Responder Con Cita
  #4  
Antiguo 05-10-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 Caminante Ver Mensaje
Me parece que la llamda a ExecSQL sale sobrando
Tenés toda la razón... copié, pegué y no me percaté (me salió en versito )

Pero aún con la inútil llamada a ExecSQL el código funciona, ese error es producido por el uso de RecordCount.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 05-10-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
ecfisa
Como Siempre Gracias... me tenia hecho un royo la propiedad recordCount ya que por lo general siempre espero en el código un resultado y se se realiza ejecuto. Pero bueno mas experiencia gracias a ustedes.

Cita:
Caminante:
Me parece que la llamda a ExecSQL sale sobrando
La costumbre de poner el ExecSQL. Aun no tengo la suficiente experiencia para saber cuando se podría usar o cuando no es necesario.

De todas manera Gracias Chicos.


Saludos


novato_erick
Responder Con Cita
  #6  
Antiguo 05-10-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por novato_erick Ver Mensaje
La costumbre de poner el ExecSQL. Aun no tengo la suficiente experiencia para saber cuando se podría usar o cuando no es necesario.
No tiene vuelta de hoja: Open es para consultas que regresan un cursor, es decir, "selects". Mientras que ExecSQL, como dicen los manuales que salen con el menú Help de Delphi:

Cita:
Executes a query that does not return a set of records.

[Ejecuta una consulta que no devuelve un conjunto de registros]


Call ExecSQL to execute an SQL command that does not return a set of records. This command is a query other than a SELECT query, such as an INSERT, UPDATE, DELETE, or CREATE TABLE query.

[Llame a ExecSQL para ejecutar un comando SQL que no devuelve un conjunto de registros. Este comando es una consulta que no sea Select, tal como Insert, Update, Delete o Create Table]


Note: Do not use ExecSQL for commands such as SELECT queries that return data. When the command returns data, use the Open method or set the Active property to true.

[Nota: No utilice ExecSQL para comandos como consultas Select que devuelven datos. Cuando el comando devuelva datos, use el método Open o ponga la propiedad Active en True.]
Un abrazo selectivo y ejecutado.
Responder Con Cita
  #7  
Antiguo 05-10-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Gracias [Al González] Ahora si entiendo...Estaba algo mecanizado..


Saludos y nuevamente muchísimas gracias a todos realmente.
Responder Con Cita
  #8  
Antiguo 05-10-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Voy a ver si puedo desbracketear mi nombre...

...¡Ay mamá! No encuentro la opción.

Última edición por Al González fecha: 05-10-2012 a las 20:16:31. Razón: (si algún moderador me hace el favor) :)
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 ingresar variables en la propiedad SQL del componente TSQLQUERY Niiña SQL 3 22-12-2011 19:57:56
Extraño error de Select Sum() en TSQLQuery de dbExpress rolandoj Conexión con bases de datos 1 28-09-2007 06:27:36
Xml, DBExpress y TSQLQuery Gran Cacique Conexión con bases de datos 1 03-09-2007 18:37:47
(DBExpress)la función IsIndexField del TSQLQuery siempre me devuelve falso amezeta32 Conexión con bases de datos 0 17-08-2006 00:20:46
Problema con componente dbexpress VolaRe Conexión con bases de datos 0 27-07-2004 12:20:40


La franja horaria es GMT +2. Ahora son las 11:18:45.


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