programa com sqlquery
Ola,
Tenho um Sqlquery ligado ao dataprovider, o dataprovider ligado no clientdataset e o clientdataset no datasource e por fim o datasource ligado no dbgrid. Tenho a Seguinte rotina:
CdsArq027.close;
With Arq027 Do
Begin
Sql.Clear;
Sql.Add('Select codpro, nompro, unicom, codgru, codred, salest, volven, univen from Arq027 Where tippro = :wtippro');
ParamByName('WTipPro').Value := WTipPro;
sql.add('and proina = :wproina');
if pagecontrol1.ActivePageIndex = 0 then
ParamByName('wproina').value := 0
else
ParamByName('wproina').value := 1;
if edit1.text <> '' then
begin
if wtipcod = 'N' THEN
Sql.Add('and codpro Like ' + #39 + '%' + Edit1.Text + '%' + #39);
if wtipcod = 'A' THEN
Sql.Add('and codred Like ' + #39 + '%' + Edit1.Text + '%' + #39);
end;
if edit2.text <> '' then
Sql.Add('and a.nompro Like ' + #39 + '%' + Edit2.Text + '%' + #39);
if radiogroup1.itemindex = 0 then
begin
Sql.add('and codgru=:wcodgru');
parambyname('wcodgru').value := strtoint(maskedit1.text);
if wtipcod = 'N' then
Sql.Add('order by codgru, codpro');
if wtipcod = 'A' then
Sql.Add('order by codgru, codred');
end;
if radiogroup1.itemindex = 1 then
begin
Sql.add('and codsub=:wcodsub');
parambyname('wcodsub').value := strtoint(maskedit1.text);
if wtipcod = 'N' then
Sql.Add('order by codsub, codpro');
if wtipcod = 'A' then
Sql.Add('order by codsub, codred');
end;
if radiogroup1.itemindex = 2 then
begin
Sql.add('and codtip=:wcodtip');
parambyname('wcodtip').value := strtoint(maskedit1.text);
if wtipcod = 'N' then
Sql.Add('order by codtip, codpro');
if wtipcod = 'A' then
Sql.Add('order by codtip, codred');
end;
if radiogroup1.itemindex = 3 then
begin
if wtipcod = 'N' then
Sql.Add('order by codpro');
if wtipcod = 'A' then
Sql.Add('order by codred');
End;
end;
CdsArq027.Open;
faço o mesmo trabalho em varias telas de pesquisa justamente a tela de pesquisa de produto teve que dar problema.
Esta dando o seguinte erro: 'dbExpress driver does not support the TDBXTypes. UINT8 data type. vendor error message: unknown ISL error 0.
No Sqlquery não a parametro somente a rotina : select codpro, nompro, unicom, codgru, codred, salest, volven, univen from arq027
Não sei o que esta acontecendo, alguem pode me ajudar?
obrigado
Tenho um Sqlquery ligado ao dataprovider, o dataprovider ligado no clientdataset e o clientdataset no datasource e por fim o datasource ligado no dbgrid. Tenho a Seguinte rotina:
CdsArq027.close;
With Arq027 Do
Begin
Sql.Clear;
Sql.Add('Select codpro, nompro, unicom, codgru, codred, salest, volven, univen from Arq027 Where tippro = :wtippro');
ParamByName('WTipPro').Value := WTipPro;
sql.add('and proina = :wproina');
if pagecontrol1.ActivePageIndex = 0 then
ParamByName('wproina').value := 0
else
ParamByName('wproina').value := 1;
if edit1.text <> '' then
begin
if wtipcod = 'N' THEN
Sql.Add('and codpro Like ' + #39 + '%' + Edit1.Text + '%' + #39);
if wtipcod = 'A' THEN
Sql.Add('and codred Like ' + #39 + '%' + Edit1.Text + '%' + #39);
end;
if edit2.text <> '' then
Sql.Add('and a.nompro Like ' + #39 + '%' + Edit2.Text + '%' + #39);
if radiogroup1.itemindex = 0 then
begin
Sql.add('and codgru=:wcodgru');
parambyname('wcodgru').value := strtoint(maskedit1.text);
if wtipcod = 'N' then
Sql.Add('order by codgru, codpro');
if wtipcod = 'A' then
Sql.Add('order by codgru, codred');
end;
if radiogroup1.itemindex = 1 then
begin
Sql.add('and codsub=:wcodsub');
parambyname('wcodsub').value := strtoint(maskedit1.text);
if wtipcod = 'N' then
Sql.Add('order by codsub, codpro');
if wtipcod = 'A' then
Sql.Add('order by codsub, codred');
end;
if radiogroup1.itemindex = 2 then
begin
Sql.add('and codtip=:wcodtip');
parambyname('wcodtip').value := strtoint(maskedit1.text);
if wtipcod = 'N' then
Sql.Add('order by codtip, codpro');
if wtipcod = 'A' then
Sql.Add('order by codtip, codred');
end;
if radiogroup1.itemindex = 3 then
begin
if wtipcod = 'N' then
Sql.Add('order by codpro');
if wtipcod = 'A' then
Sql.Add('order by codred');
End;
end;
CdsArq027.Open;
faço o mesmo trabalho em varias telas de pesquisa justamente a tela de pesquisa de produto teve que dar problema.
Esta dando o seguinte erro: 'dbExpress driver does not support the TDBXTypes. UINT8 data type. vendor error message: unknown ISL error 0.
No Sqlquery não a parametro somente a rotina : select codpro, nompro, unicom, codgru, codred, salest, volven, univen from arq027
Não sei o que esta acontecendo, alguem pode me ajudar?
obrigado
Wilton Júnior
Curtidas 0
Respostas
Wilson Junior
14/04/2010
Você deve ter no banco de dados algum campo com otipo "UINT8" e que este tipo não é suportado pelo dbExpress.
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0
Wilton Júnior
14/04/2010
Então companheiro wilson
especialmente nessa query não ha nenhum parametro relacinado.
o que não entendo que é a mesma rotina que usei na confecção de outras telas e justo nessa bendita ela acontece isso.
obrigado!
especialmente nessa query não ha nenhum parametro relacinado.
o que não entendo que é a mesma rotina que usei na confecção de outras telas e justo nessa bendita ela acontece isso.
obrigado!
GOSTEI 0
Wilson Junior
14/04/2010
Não são os parâmetros da query, e sim o que está definido no banco de dados.
Talvez tenha algum campo no BD que o tipo que foi definido para ele, o dbExpress não tenha suporte.
Espero ter colaborado.
Talvez tenha algum campo no BD que o tipo que foi definido para ele, o dbExpress não tenha suporte.
Espero ter colaborado.
GOSTEI 0
Wilton Júnior
14/04/2010
verei isso
muito obrigado!
muito obrigado!
GOSTEI 0