Array
(
)

Sql em tempo de execucao e dinamica

Brahma
   - 04 out 2005

Utilizao ADO e SQL_SERVER
Gostaria de montar e sql abaixo em tempo de execução.
Faço o teste para ver se o combobox do laboratiorio esta preenchido se sim executa o codigo e assim por diante. Esse codigos vao depois de eu montar o codigo da sql.

if dblookupcombobox1.text<>´´ then
begin
dmc3.QconsultaFormacaoCurso.SQL.Add(´and MT.laboratorio=:plab´);
dmc3.QconsultaFormacaoCurso.ParamByName(´pcurso´).AsInteger:=DBLookupComboBox1.Keyvalue;
end

Outro problema - nao estou conseguindo passar parametro para a seguinte instrucao
(dataref between ´03/08/2005´ and ´03/09/2005´)
tentei
(dataref between =:pdataInicial and =:pdatafinal

Aqui todos os comandos estao dentro do Query.add(´ ´);
select
MT.codigo,
MT.descricao,
MT.apresentacao,
(select top 1 qtdereal from mt_movimentacao where material=MT.codigo and dataref>=:pdatainicial1 order by codigo asc) as estoque_inicial,
(
(select sum(qtde) from mt_movimentacao where (tipo=´E´ or tipo=´D´) and (dataref between ´03/08/2005´ and ´03/09/2005´) and (material=MT.codigo))-(select top 1 qtdereal from mt_movimentacao where material=MT.codigo and dataref>=:pdatafinal21 order by codigo asc)
) entrada,
(select sum(qtde) from mt_movimentacao where (tipo=´S´ or tipo=´X´) and (dataref between ´03/08/2005´ and ´03/09/2005´) and (material=MT.codigo)) saida ,
(select top 1 qtdereal from mt_movimentacao where material=MT.codigo and dataref<=:pdatafinal4 order by codigo desc) as estoque_final,
(select minimo from mt_materialcomp where material=MT.codigo ) as estoque_minimo

from
mt_material as MT
where
(select top 1 qtdereal from mt_movimentacao where material=MT.codigo and dataref<=´2005-09-20´ order by codigo desc)>0
)

Se alguem puder ajudar agradeço

Emerson
   - 04 out 2005

sobre o período, o correto é:

(dataref between :pdataInicial and :pdatafinal)

não ponha os sinais de igual.