Club Delphi  
    Paypal   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 24-10-2008
nolo nolo is offline
Miembro
 
Registrado: oct 2008
Posts: 12
Poder: 0
nolo Va por buen camino
consultas sql en delphi 2007

hola tengo una ventana que me tira los datos de un vendedor, en el cual ingrreso como parametro el 'idvend' y 'las fechas desde y hasta'
utilizo un
-TADOConnection para conectarme a la base de datos
- TDataSource
- TADODataSet en donde esta cargada la consulta sql
- DBGrid para q visualize los datos
- y un TBotton en el cual quier que cuando lo aprete me muestre los datos, filtrando los parametros que describi previamente...


como lo hago???
Responder Con Cita
  #2  
Antiguo 24-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Hola nolo,
Bienvenido a Clubdelphi. Como eres nuevo, te recomendaría que te tomes unos minutos para leer la guia de estilo.

Con respecto a tu inquietud,
¿Cuál es tu duda realmente?

¿Tienes problemas para conectar o enlazar los componentes? ¿tu consulta SQL te arroja un error? Si es así, ¿Cuál y dónde?

Esto te lo pregunto porque al comienzo empiezas a describir todo, y al parecer que ya lo tienes hecho. Al menos eso parece indicar esta parte de tu mensaje:

Cita:
Empezado por nolo
tengo una ventana que me tira los datos de un vendedor, en el cual ingrreso como parametro el 'idvend' y 'las fechas desde y hasta'
Entonces la pregunta es ¿Lo tienes hecho o quieres hacerlo?
Si tienes algo de código sería útil que lo dieras a conocer.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 24-10-2008
nolo nolo is offline
Miembro
 
Registrado: oct 2008
Posts: 12
Poder: 0
nolo Va por buen camino
consultas sql en delphi 2007

hola amigo gracias por la bienvenida y disculpa por empresarme mal..

la ventana ya lo tengo todo echo, y enlazado con las bases de datos y todo, mi problema es que cuando apretieto el evento TBotton no me tira nada el DBGrid

en el TButton tengo este codigo

var
sQ: WideString;
begin
adsReporte.Open;
sQ := 'SELECT V.fDocumento, C.sRazonSocial, V.idTipoDoc, ((V.rTotBruto+V.rTotDescuentos)*TD.iAplicStock*(-1)) as totBruto,'+
'RIGHT('+QuotedStr('0000')+'+CAST(V.idPV AS VARCHAR),4)+'+QuotedStr(' - ')+
'+ RIGHT('+QuotedStr('00000000')+'+CAST(V.idNumDoc AS VARCHAR),8) as Numero, '+
'( SELECT SUM((rSubBruto+rSubDescuentos)*TID.iAplicStock*(-1)*(rComisionAPagar)) AS Comision'+
'FROM VentasItems VI, TiposDoc TID'+
'WHERE VI.idTipoDoc = TID.idTipoDoc'+
'AND VI.idTipoDoc = V.idTipoDoc'+
'AND VI.idPV = V.idPV'+
'AND VI.idNumdoc = V.idNumDoc ) AS Comision'+
'FROM Ventas V'+
'INNER JOIN Clientes C ON V.idCliente = C.idCliente'+
'INNER JOIN TiposDoc TD ON V.idTipoDoc = TD.idTipoDoc'+
'WHERE V.fDocumento >= dtpDesde.DateTime'+
'AND V.fDocumento <= dtpHasta.DateTime' +
'AND V.idVendedor := edtidVendedor.AsInteger'+
'AND V.bAnulado = 0'+
'ORDER BY V.idTipoDoc ASC, V.idPV ASC, V.idNumDoc ASC'+
'adsDatos1.CommandText := sQ;';
{adsReporte.Parameters.ParamByName('idVendedor').Value := TEdit1.AsInteger;
adsReporte.Parameters.ParamByName('FechaDesde').Value := dtpDesde.DateTime;
adsReporte.Parameters.ParamByName('FechaHasta').Value := dtpHasta.DateTime}
//adsReporte.CommandText := sQ;
//adsReporte.Close;

soy novato en esto, me se bastante sql pero poco delphi jeje
agradeceria tu ayuda
Responder Con Cita
  #4  
Antiguo 24-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Hola nolo,
Lo que veo, de vista rápida, es que primero haces el Open, luego le indicas la consulta y al final un Close.

El orden es en realidad al contrario.

1. Cerrar el DataSet
2. Armar consulta
3. Abrirlo

Por otro lado, para escribir código delphi y se resalte, usa las etiquetas delphi. De este modo:


[delphi]
tu código aqui...
[/delphi]


Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 24-10-2008
nolo nolo is offline
Miembro
 
Registrado: oct 2008
Posts: 12
Poder: 0
nolo Va por buen camino
bueno disculpas nuevamente, este seria mi codigo

si primero cierro el dataset y despues lo abro como decis vos, me tira un errorcito, la unica forma de que por lo menos se ejecute era ponerlo de esa forma a pesar de que yo tenia entendido de que es como tu dices

Código Delphi [-]
procedure TForm2.Button1Click(Sender: TObject);
  var
   sQ: WideString;
 begin
   adsReporte.Open;
   sQ := 'SELECT V.fDocumento, C.sRazonSocial, V.idTipoDoc, ((V.rTotBruto+V.rTotDescuentos)*TD.iAplicStock*(-1)) as totBruto,'+
         'RIGHT('+QuotedStr('0000')+'+CAST(V.idPV AS VARCHAR),4)+'+QuotedStr(' - ')+
         '+ RIGHT('+QuotedStr('00000000')+'+CAST(V.idNumDoc AS VARCHAR),8) as Numero, '+
         '( SELECT SUM((rSubBruto+rSubDescuentos)*TID.iAplicStock*(-1)*(rComisionAPagar)) AS Comision'+
         'FROM VentasItems VI, TiposDoc TID'+
         'WHERE VI.idTipoDoc = TID.idTipoDoc'+
         'AND VI.idTipoDoc = V.idTipoDoc'+
         'AND VI.idPV = V.idPV'+
         'AND VI.idNumdoc = V.idNumDoc ) AS Comision'+
         'FROM Ventas V'+
         'INNER JOIN Clientes C ON V.idCliente = C.idCliente'+
         'INNER JOIN TiposDoc TD ON V.idTipoDoc = TD.idTipoDoc'+
         'WHERE V.fDocumento >= :FechaDesde'+
         'AND V.fDocumento <= :FechaHasta' +
         'AND V.idVendedor := :idVendedor'+
         'AND V.bAnulado = 0'+
         'ORDER BY V.idTipoDoc ASC, V.idPV ASC, V.idNumDoc ASC'+
         'adsDatos1.CommandText := sQ;';
   {adsReporte.Parameters.ParamByName('idVendedor').Value := TEdit1.AsInteger;
  adsReporte.Parameters.ParamByName('FechaDesde').Value := dtpDesde.DateTime;
  adsReporte.Parameters.ParamByName('FechaHasta').Value := dtpHasta.DateTime}
   //adsReporte.CommandText := sQ;
   //adsReporte.Close;
 end;
end.

en fin mi pregunta es, si esta bien el codigo en el TBotton o si es que falta algo o sobra, porque no me tira nada el DBGrid
Responder Con Cita
  #6  
Antiguo 24-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Ummm, veamos, debería funcionarte de este modo:

Código Delphi [-]
TuDataSet.Close;
tuDatSet.SQL.Clear;
TuDataSet.SQL.Add('select ....');
TuDataSet.SQL.Add('from ... ');
TuDataSet.SQL.Add('where ... ');
TuDataSet.Parameters.ParamByName('tu_parametro').Value := ...
TuDataSet.Parameters.ParamByName('tu_parametro').Datatype := ftxxxx;
// Otros parámetros...

TuDataSet.Open;

Acabo de releer tu post inicial. ¿Empleas TADODataSet? No se si tendrá algo que ver... pero prueba con un TADOQuery.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 27-10-2008
nolo nolo is offline
Miembro
 
Registrado: oct 2008
Posts: 12
Poder: 0
nolo Va por buen camino
Hola amigo tampoco anda, y si verifique la consulta me tira datos en el motor uso sql server 2008...
Tendrias un proyecto delphi por ahi de como hacer consultas, uno sencillo a modo de ejemplo... y que utilice aunque sea un parametro....
te lo agradeceria asi lo voy mirando..
Responder Con Cita
  #8  
Antiguo 27-10-2008
nolo nolo is offline
Miembro
 
Registrado: oct 2008
Posts: 12
Poder: 0
nolo Va por buen camino
mira estos son los errores que me tira el SQL.Clear

[DCC Error] EjemploFamilias.pas(38): E2003 Undeclared identifier: 'SQL'
[DCC Error] EjemploFamilias.pas(39): E2066 Missing operator or semicolon
[DCC Error] EjemploFamilias.pas(40): E2066 Missing operator or semicolon
[DCC Error] EjemploFamilias.pas(41): E2066 Missing operator or semicolon
[DCC Error] EjemploFamilias.pas(42): E2003 Undeclared identifier: 'AsInteger'
[DCC Error] EjemploFamilias.pas(43): E2066 Missing operator or semicolon
[DCC Error] Project1.dpr(5): F2063 Could not compile used unit 'EjemploFamilias.pas'
Responder Con Cita
  #9  
Antiguo 27-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Es evidente que estás empleando un componente distinto a TADOQuery, si te da ese error en la línea SQL.Clear es porque el componentes que usas no es un TADOQuery o algún otro componente TXxxQuery.

Por otro lado los errores "E2066 Missing operator or semicolon" se deben a que falta el punto y coma al final de la sentencia.

El error AsInteger se debe a que el componente TEdit no posee esta propiedad. A menos que se trate de un componente de terceros (intuyo que es un TEdit de la biblioteca JEDI) que disponga de dicho método o propiedad no va a funcionar.

ContraVeneno nos podría aclarar este asunto.
Mientras tanto, si tienes el Edit, puedes hacer esto:

Código Delphi [-]
.... := StrToInt(Edit1.Text);

En ves del Edit1.AsInteger

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 27-10-2008
nolo nolo is offline
Miembro
 
Registrado: oct 2008
Posts: 12
Poder: 0
nolo Va por buen camino
y este error porque es??

Project Project1.exe raised exception class EOLeException with message 'Objeto Parameter mas definido. Se proporciono informacion incompleta o incoherente'

ya le arregle lo que me dijiste del parametro pero de cualquiera de las dos formas me tira este error cuando ingreso el parametro y lo doy al TBotton
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
¿Delphi 2007 for win32 o BSD 2007? AzidRain La Taberna 6 29-07-2008 20:32:16
Lanzamiento Delphi 2007, PHP y JBuilder 2007 R2 Santiago - Chile Andreano Noticias 4 14-05-2007 09:25:23
Lanzamiento de Delphi 2007 y Delphi para PHP en México con David I Andreano Noticias 13 27-02-2007 21:16:04
Lanzamiento de Delphi 2007 y Delphi para PHP en Bogotá - Colombia Andreano Noticias 9 25-02-2007 19:09:42
Consultas SQL en Delphi DaRkBoY Oracle 4 18-06-2003 15:26:43


La franja horaria es GMT +2. Ahora son las 04:35:40.


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