![]() |
consulta sql en adodataset
Hola estoy creando una aplicación con delphi7 y utilizando el componente Tadodataset para hacer una consulta, mi problema es que en la propiedad commandtext al meter la consulta me da un error al compilar que me dice que el nº de caracteres permitidos no debe exceder de 255, como puedo hacer una consulta de más caracteres??
|
Puedes utilizar un TADOQuery, con la propiedad SQL
Edu |
Hola
Algo así...
En definitiva, puedes separar la instrucción como sale mas arriba. Hasta Luego - |
Saludos
lucasarts_18, una observacion .Sql: :) |
Cita:
|
solo me funciona si hago la consulta en el primer add, ti la parto en dos ya no me funciona.
|
Hola:
Pone el código para ver en que está fallando..... Hasta Luego - |
adoquery1.close;
adoquery1.SQL.Clear; adoquery1.SQL.Add('select * from albaranes'); adoquery1.SQL.Add('where year(fecha)=''2005'' and month(fecha)=''11'''); adoquery1.open; Aquí teneis el código, a ver si me podeis hechar una mano. |
El 2005 y el 11 (año y mes) deben estar sin las comillas, ya que son datos numéricos.
Edu |
sigue sin irme
|
prueba esto:
Edu |
si pongo solo el año va pero con el and no va.
|
me pasas el código tal y como lo tienes puesto? Esto ya parece un Poltergeist! Qué raro!
Edu |
adoquery1.close;
adoquery1.SQL.Add('select * from albaranes'); adoquery1.SQL.Add('where year(fecha)=2005 and month(fecha)=11'); adoquery1.open; |
Hola,
Usualmente yo lo hago asi. Disculpen la sitnaxis va a pura memoria. Var S : TStringList; begin S:= TStringList.Create; try S.Clear; s.add('select * from albaranes'); s.add('from albaranes'); s.add('where year(fecha)=:year and month(fecha)=:month'); adodataset.CommandText:=S.Text; adodataset.Parameters.ParseSQL(S.text,true); adodataset.Parameters.ParamByName('year').value:=2005; adodataset.parameters.parambyname('month').value:=11; adodataset.Open; try // haga algo finally adodataset.close; end; finally S.Free; end; Si esta usando un adoquery, yo creo que aun agregando el texto al SQL tstring, el no detecta los parametros en runtime a menos que se llame el parsesql. Si no va a usar parametros, es mejroq que use un Format y agregue los valores de fecha como %s. |
David, has comprobado que inicialmente no haya nada en la query.sql?
Empieza con query.sql.clear después de cerrarla. Edu |
Sí!!, funcionó con tu último código, gracias por todo amigos.
|
La franja horaria es GMT +2. Ahora son las 05:01:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi