Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

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: 397
Poder: 16
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: 38
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: 16
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: 38
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: 397
Poder: 16
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.610
Poder: 32
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: 397
Poder: 16
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.610
Poder: 32
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 16:07:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi