Fórum Sql error code =-804 Data type Unknown - Me ajudem !! #154493
12/04/2003
0
tenho o seguinte SQL em um IBQuery com as variaveis :vcp00 e :vcp01
[color=blue:8b503d0765]select moeda as MOEDA, cast(dt as date) as DATA_DE_COMPRA, cliente as CLIENTE, lancto as LANCAMENTO,
cv as T_MOVIMENTO, qtde as DOLLAR, reais as TOTAL_REAIS from negocios
where dt >= cast([/color:8b503d0765][color=red:8b503d0765]:vcp00[/color:8b503d0765] [color=blue:8b503d0765]as date) and dt <= cast([/color:8b503d0765][color=red:8b503d0765]:vcp01[/color:8b503d0765] [color=blue:8b503d0765]as date)
order by dt [/color:8b503d0765]
Declarei como parametro = Params [color=blue:8b503d0765]vcp00[/color:8b503d0765] e [color=blue:8b503d0765]vcp01[/color:8b503d0765] com a propiedade Data type = ftString.
e um botão com o seguinte procedimento ao clicar
[color=blue:8b503d0765] DMIB.IBQueryFree.ParamByName(´vcp00´).Value := datai;
DMIB.IBQueryFree.ParamByName(´vcp01´).Value := dataf;
DMIB.IBQueryFree.Open;
DMIB.IBQueryFree.Active := True ;
Application.CreateForm(TQRNegocios, QRNegocios);{Carrega form na memória}
QRNegocios.QRDBText1.DataField := ´LANCAMENTO´;
QRNegocios.Preview;
QRNegocios.Free;[/color:8b503d0765]
O problema e que o IBQuery esta identificando as minhas variaveis de parametro como tipo de data não reconhecida. Por acaso tenho que declara as variaveis no SQL , pois pensei que os parametros ja ficavam como variaveis e era só incluir no SQL e se e isto como faço para declarar ?
Sou novato nisto!
[color=blue:8b503d0765]select moeda as MOEDA, cast(dt as date) as DATA_DE_COMPRA, cliente as CLIENTE, lancto as LANCAMENTO,
cv as T_MOVIMENTO, qtde as DOLLAR, reais as TOTAL_REAIS from negocios
where dt >= cast([/color:8b503d0765][color=red:8b503d0765]:vcp00[/color:8b503d0765] [color=blue:8b503d0765]as date) and dt <= cast([/color:8b503d0765][color=red:8b503d0765]:vcp01[/color:8b503d0765] [color=blue:8b503d0765]as date)
order by dt [/color:8b503d0765]
Declarei como parametro = Params [color=blue:8b503d0765]vcp00[/color:8b503d0765] e [color=blue:8b503d0765]vcp01[/color:8b503d0765] com a propiedade Data type = ftString.
e um botão com o seguinte procedimento ao clicar
[color=blue:8b503d0765] DMIB.IBQueryFree.ParamByName(´vcp00´).Value := datai;
DMIB.IBQueryFree.ParamByName(´vcp01´).Value := dataf;
DMIB.IBQueryFree.Open;
DMIB.IBQueryFree.Active := True ;
Application.CreateForm(TQRNegocios, QRNegocios);{Carrega form na memória}
QRNegocios.QRDBText1.DataField := ´LANCAMENTO´;
QRNegocios.Preview;
QRNegocios.Free;[/color:8b503d0765]
O problema e que o IBQuery esta identificando as minhas variaveis de parametro como tipo de data não reconhecida. Por acaso tenho que declara as variaveis no SQL , pois pensei que os parametros ja ficavam como variaveis e era só incluir no SQL e se e isto como faço para declarar ?
Sou novato nisto!
Kanedasam
Curtir tópico
+ 0
Responder
Posts
12/04/2003
Aroldo Zanela
tenho o seguinte SQL em um IBQuery com as variaveis :vcp00 e :vcp01
[color=blue:569245eea4]select moeda as MOEDA, cast(dt as date) as DATA_DE_COMPRA, cliente as CLIENTE, lancto as LANCAMENTO,
cv as T_MOVIMENTO, qtde as DOLLAR, reais as TOTAL_REAIS from negocios
where dt >= cast([/color:569245eea4][color=red:569245eea4]:vcp00[/color:569245eea4] [color=blue:569245eea4]as date) and dt <= cast([/color:569245eea4][color=red:569245eea4]:vcp01[/color:569245eea4] [color=blue:569245eea4]as date)
order by dt [/color:569245eea4]
Declarei como parametro = Params [color=blue:569245eea4]vcp00[/color:569245eea4] e [color=blue:569245eea4]vcp01[/color:569245eea4] com a propiedade Data type = ftString.
e um botão com o seguinte procedimento ao clicar
[color=blue:569245eea4] DMIB.IBQueryFree.ParamByName(´vcp00´).Value := datai;
DMIB.IBQueryFree.ParamByName(´vcp01´).Value := dataf;
DMIB.IBQueryFree.Open;
DMIB.IBQueryFree.Active := True ;
Application.CreateForm(TQRNegocios, QRNegocios);{Carrega form na memória}
QRNegocios.QRDBText1.DataField := ´LANCAMENTO´;
QRNegocios.Preview;
QRNegocios.Free;[/color:569245eea4]
O problema e que o IBQuery esta identificando as minhas variaveis de parametro como tipo de data não reconhecida. Por acaso tenho que declara as variaveis no SQL , pois pensei que os parametros ja ficavam como variaveis e era só incluir no SQL e se e isto como faço para declarar ?
Sou novato nisto!
Kanedasam,
Este método DMIB.IBQueryFree.Open é equivalente a isto DMIB.IBQueryFree.Active := True, ou seja, basta um. (tanto faz).
A mensagem deve ser tipos de dados (data type em inglês) incompatíveis. Não vejo necessidade de fazer Cast nas variáveis de parâmetro (remova), a não ser que sejam strings no banco.
Altere:
DMIB.IBQueryFree.ParamByName(´vcp01´).Value := dataf;
Para:
DMIB.IBQueryFree.ParamByName(´vcp01´).AsDate := dataf;
Defina os parametros datai e dataf como Input e DataType = date.
Faça o teste e me avise se não funcionar, não sei se esqueci de alguma coisa.
Responder
Gostei + 0
12/04/2003
Kanedasam
Agradeço o interesse de me ajudar,
o uso do cast e que as datas são string e fiz o seguinte :
DMIB.IBQueryFree.ParamByName(´vcp01´).AsString := dataf;
e datai e dataf como Input e DataType = String. Dentro do que você me orientou mas deu a mesma mensagem ´´Sql error code =-804 Data type Unknown´.
Porém quando troco o :vcp00 e vcp01 pelas string de data respequitiva ´04/12/2001´ e ´04/21/2001´, pode ser outras datas, funciona.
o vcp00 e vcp01 recebem a data com aspas para o sql ler como uma string a ser convertida para data mas o IBQuery esta identificando as variaveis como campo a ser convertido inves do conteudo das variaveis.
o uso do cast e que as datas são string e fiz o seguinte :
DMIB.IBQueryFree.ParamByName(´vcp01´).AsString := dataf;
e datai e dataf como Input e DataType = String. Dentro do que você me orientou mas deu a mesma mensagem ´´Sql error code =-804 Data type Unknown´.
Porém quando troco o :vcp00 e vcp01 pelas string de data respequitiva ´04/12/2001´ e ´04/21/2001´, pode ser outras datas, funciona.
o vcp00 e vcp01 recebem a data com aspas para o sql ler como uma string a ser convertida para data mas o IBQuery esta identificando as variaveis como campo a ser convertido inves do conteudo das variaveis.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)