Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-09-2011
luisraad luisraad is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 54
Poder: 15
luisraad Va por buen camino
base de datos hecha en microsoft access
uso delphi 7

esta base de datos esta conectada a delphi mediante componentes ADO y tengo esto:

ADOconection
ADOtable
ADOQuery
(2) dataSource
1 DBGrid

el adoconection esta con el motor de la base de datos o algo asi
el adotable contiene la tabla 'MEDICAMENTOS' de la base de datos
el adoquery pues esta conectado con el adoconection y en el SQL la consuta select* from MEDICAMENTOS F_CADUCIDAD
y el dbgrid asociado al ADOQuery el datasource 2 con el adoquery1 y el datasource1 con el adotable1

de esta manera
Responder Con Cita
  #2  
Antiguo 17-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
cual es la sentencia que estas colocando en el Adoquery?
tiene parametros?

Código Delphi [-]
Adoquery1.close;
Adoquery1.sql.text:='select * from tbMedicamentos where fechacaducidad < :lafecha + :numerodias';
Adoquery1.params[0] := tudatetimerpicker.date;
Adoquery1.params[1] := strtoint(tuedit.text);
Adoquery1.open;

si adecuas tu sentencia a la que te mostro casimiro en el ejemplo anterior, te deberia funcionar
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 17-09-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Código Delphi [-]
Adoquery1.close; 
Adoquery1.sql.text:='select * from tbMedicamentos where fechacaducidad < :lafecha + :numerodias'; 
Adoquery1.params[0].asdatetime := tudatetimerpicker.date; 
Adoquery1.params[1].asinteger := strtoint(tuedit.text); 
Adoquery1.open;

Creo que falta el tipo de campo, se supone que serán esos, como tampoco lo has dicho.
Responder Con Cita
  #4  
Antiguo 18-09-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Código Delphi [-]
Adoquery1.close; 
Adoquery1.sql.text:='select * from tbMedicamentos where fechacaducidad < :lafecha + :numerodias'; 
Adoquery1.params[0].asdatetime := tudatetimerpicker.date; 
Adoquery1.params[1].asinteger := strtoint(tuedit.text); 
Adoquery1.open;

Creo que falta el tipo de campo, se supone que serán esos, como tampoco lo has dicho.
Amigo ADO no tiene params[ ] genera un error.
Es una de las cosas que cambia con IBX.
Ado usa Parameters[ ].
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 17-09-2011
luisraad luisraad is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 54
Poder: 15
luisraad Va por buen camino
mira lo cooque asi:

Adoquery1.close;
Adoquery1.sql.text:='select * from MEDICAMENTOS where F_CADUCIDAD < :lafecha + :numerodias';
Adoquery1.Parameters.ParamByName('0') := datetimepicker1.date;
Adoquery1.Parameters.ParamByName('1') := strtoint(edit1.text);
Adoquery1.open;


y en el SQL del ADOQUERY:
select * from MEDICAMENTOS where F_CADUCIDAD < :lafecha + :numerodias

al compilar salen estos errores:
left sides cannot assigned ((supongo que es en la asignacion del datetimepicker1.date caundo se lo asignamos al parambyname('0')..))

incompatible types 'Tparameter and Tdate

la raya roja del error fatal jeje señala las lineas de los parametros
Responder Con Cita
  #6  
Antiguo 17-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
los nombres de los parametros estan mal

pruebalo asi
Código Delphi [-]
Adoquery1.Parameters.ParamByName('Lafecha') := datetimepicker1.date;
Adoquery1.Parameters.ParamByName('numerodias') := strtoint(edit1.text);
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #7  
Antiguo 17-09-2011
luisraad luisraad is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 54
Poder: 15
luisraad Va por buen camino
haber ya habia practicado con algo de la siguiente forma pero este solo me trae los vencidos y los que estan por vencerse cuando inserto el codigo del medicamento...

que hace???

consulta la tabla y compara el codigo del medicamento, consulta su fecha de caducidad y la compara con un datetimepicker y asi si me funciona... pero quiero hacer lo que vengo explicando desde arriba en el foro


var
c:string;
begin
if (edit1.text<>'')then
begin
c:='';
C:='select MEDICAMENTOS.F_CADUCIDAD from MEDICAMENTOS where MEDICAMENTOS.COD='+comilla.Text + edit1.Text + comilla.text;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(c);
ADOQuery1.Active:=True;
edit2.Text:=ADOQuery1.Fields.Fields[0].AsString;
c:='select MEDICAMENTOS.COD, MEDICAMENTOS.NOMBRE, MEDICAMENTOS.F_CADUCIDAD from MEDICAMENTOS where MEDICAMENTOS.COD='+comilla.Text + edit1.Text + comilla.text;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(c);
ADOQuery2.Active:=True;

Edit1.Clear;
end;
if Edit2.Text=DateToStr(DateTimePicker1.Date) then
begin
Application.MessageBox('Medicamento Expiró','FarmaSoft',MB_OK);
end
else begin
Application.MessageBox('No Hay Medicamentos Vencidos','FarmaSoft',MB_OK);
end;

end;

el campo comilla.text es un edit que contiene una comilla puesto delphi molesta con las consultas que llevan multiples ' ' espero me entiendan
Responder Con Cita
  #8  
Antiguo 17-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
para el tema de las comillas puedes usar quotedStr()

ejemplo

Código Delphi [-]
Select Codigo from tabla where Codigo = quotedStr(edit1.text)

2 tu codigo me parece algo complicado...
para que se utiliza el edit2?
el c:= '' no es necesario cuando asignas a la variable c la cadena del Query
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #9  
Antiguo 17-09-2011
luisraad luisraad is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 54
Poder: 15
luisraad Va por buen camino
jajajajaja haber amigo

nuestro profesor nos dijo jaja lo de las comillas que locura ahora fue que vine a darme cuenta.. buen aporte.

lo otro es que ese edit2 es para que se traiga el campo F_CADUCIDAD y este se compate con el datetimepicker imaginate!!! pero aja amigo que hacemos es el concepto de nuestro tutor
Responder Con Cita
  #10  
Antiguo 17-09-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Recuerda poner etiquetas al código, ejemplo:





.
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
Manejo de Fechas - Sumar o restar días r1d2m3 OOP 2 30-10-2010 03:06:24
Manejo de Fechas en Firebird 2.1 Jose Roman SQL 3 17-02-2009 17:15:03
Manejo de Fechas en Delphi para enviar una consulta rgstuamigo OOP 7 09-10-2008 23:26:14
Manejo de fechas nazly Varios 2 14-03-2008 19:05:23
Manejo de fechas Leogiro OOP 2 11-09-2004 00:22:39


La franja horaria es GMT +2. Ahora son las 23:33:12.


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