• advertisement_alt
  • advertisement_alt
  • advertisement_alt
LuckSilver

Query em Webservice

21 posts in this topic

Galera bom dia,

Entao, pra ter um desenvolvimento mais rapido em um webservice, criei queries para inclusao, alteracao e exclusao nas tabelas, soh que estranho, soh funcionou a query que exclui, na inclusao e alteracao nao tah funcionando...

Alguem sabe oq pode ter ocorrido?

Obrigado a quem ajudar :)

 

Share this post


Link to post
Share on other sites

bom dia LuckSilver,

a forma mais fácil é executar o Webservice local e debugar, ou poste aqui se esta ocorrendo algum erro, ou o código para termos uma base

Share this post


Link to post
Share on other sites

Entao, eu fiz uma procedure chamando a query, conforme abaixo:

nReg=HExecuteQuery(QRY_ClientesInclui,hQueryDefault,cod_empresa,cod_cliente,nome_cliente,cpf_cnpj,ci_ie,endereco,bairro,cidade,estado,cep,fone)
IF bRes=False THEN GloXML+="<resultado>"+HErrorInfo+"</resultado>" ELSE GloXML+="<resultado>OK</resultado>"

ae o bRes retorna false e o xml que retorna eh "<resultado></resultado>", ou seja, retorna um erro, mas vem em branco, ae nao entendi kkkk
 

Share this post


Link to post
Share on other sites

seu código esta um pouco confuso, mas vamos la, ja tentou debugar, ainda assim acho que é o melhor caminho.
outro ponto o herrorinfo só vai ter informação caso o HEXECUTEQUERY falhe, o correto é:
if hexecutequery(...) then
....
o Hexecutequery retorna um boolean

Share this post


Link to post
Share on other sites

qual banco de dados voce esta usando?.. pois se tiver usando um que seja hyperfile ou que tenha drive nativo pode usar os comandos do proprio windev, que facilita em muito

 

Share this post


Link to post
Share on other sites
2 horas atrás, Vilani disse:

seu código esta um pouco confuso, mas vamos la, ja tentou debugar, ainda assim acho que é o melhor caminho.
outro ponto o herrorinfo só vai ter informação caso o HEXECUTEQUERY falhe, o correto é:
if hexecutequery(...) then
....
o Hexecutequery retorna um boolean

Pse Vilani, estou guardando o resultado do hexecutequery na variavel "nReg" ae na linha abaixo se for falso, retorna o erro pelo xml, senao, mostra a tag resultado como OK:

IF bRes=False THEN GloXML+="<resultado>"+HErrorInfo+"</resultado>" ELSE GloXML+="<resultado>OK</resultado>"

Share this post


Link to post
Share on other sites
1 hora atrás, Amarildo de Matos disse:

qual banco de dados voce esta usando?.. pois se tiver usando um que seja hyperfile ou que tenha drive nativo pode usar os comandos do proprio windev, que facilita em muito

 

Pse, em outro webservice que fiz, utilizei os comandos nativos, HAdd, HModify e HDelete, mesmo sendo em postgres hehe, funcionou certinho, soh q agora vi q dá de fazer inclusao com queries neh, ae achei mais rapido fazer com query :P

Share this post


Link to post
Share on other sites
3 horas atrás, LuckSilver disse:

Pse Vilani, estou guardando o resultado do hexecutequery na variavel "nReg" ae na linha abaixo se for falso, retorna o erro pelo xml, senao, mostra a tag resultado como OK:

IF bRes=False THEN GloXML+="<resultado>"+HErrorInfo+"</resultado>" ELSE GloXML+="<resultado>OK</resultado>"

rsrsrs ou voce resumiu de mais o código ou tem coisa errada ai

nReg=HExecuteQuery(QRY_ClientesInclui,hQueryDefault,cod_empresa,cod_cliente,nome_cliente,cpf_cnpj,ci_ie,endereco,bairro,cidade,estado,cep,fone)
IF bRes=False THEN GloXML+="<resultado>"+HErrorInfo+"</resultado>" ELSE GloXML+="<resultado>OK</resultado>"

 

recebe o resultado em nReg e testa bRes

Share this post


Link to post
Share on other sites
5 minutos atrás, Vilani disse:

rsrsrs ou voce resumiu de mais o código ou tem coisa errada ai

nReg=HExecuteQuery(QRY_ClientesInclui,hQueryDefault,cod_empresa,cod_cliente,nome_cliente,cpf_cnpj,ci_ie,endereco,bairro,cidade,estado,cep,fone)
IF bRes=False THEN GloXML+="<resultado>"+HErrorInfo+"</resultado>" ELSE GloXML+="<resultado>OK</resultado>"

 

recebe o resultado em nReg e testa bRes

Putz que vacilo kkkkkkkkkk

Share this post


Link to post
Share on other sites

kkkkkkkk

Acontece ate mesmo nas melhores familias

hehehe

Share this post


Link to post
Share on other sites

Pse galera, arrumei ali, ae a query que inclui e a query que exclui funciona perfeito, mas a query que altera nao kkkkk eitaaa, segue o codigo sql da query:

UPDATE 
    clientes
SET
    nome_cliente = {Paramnome_cliente},    
    razao_social = {Paramrazao_social},    
    cpf_cnpj = {Paramcpf_cnpj},    
    ci_ie = {Paramci_ie},    
    endereco = {Paramendereco},    
    complemento = {Paramcomplemento},    
    bairro = {Parambairro},    
    cidade = {Paramcidade},    
    estado = {Paramestado},    
    cep = {Paramcep},    
    fone_cliente = {Paramfone_cliente},    
    celular_cliente = {Paramcelular_cliente},    
    fone_comercial = {Paramfone_comercial},    
    email = {Paramemail},    
    observacao = {Paramobservacao},    
    senha = {Paramsenha},    
    data_cadastro = {Paramdata_cadastro},    
    data_alteracao = {Paramdata_alteracao},    
    cod_usuario = {Paramcod_usuario}
WHERE 
    clientes.cod_empresa = {Paramcod_empresa}
    AND    clientes.cod_cliente = {Paramcod_cliente}

Share this post


Link to post
Share on other sites

LuckSilver,

Conforme mencionado pelo Vilani, o bom mesmo é vc DEBUGAR o seu webservice pra ver o que de fato ta acontecendo. Ta recebendo todos os parametros? O que acontece quando vc executa a Query? Qual erro? São coisas que no DEBUG vc ver facilmente

Janio

Share this post


Link to post
Share on other sites

Abra seu projeto do Webservice e execute ele

Share this post


Link to post
Share on other sites

Entao, deu o erro abaixo:

 

Bad calling parameters for 'Global procedure ClientesAltera (server)' code: 22 parameters were expected while 19 parameters have been passed.

----- Technical information -----

Project : WebService_TESTE

What happened?
Bad calling parameters for 'Global procedure ClientesAltera (server)' code: 22 parameters were expected while 19 parameters have been passed.

Error code: 1003
Level: fatal error

Dump of the error of 'wd240vm.dll' module (24.0.600.2).
Identifier of detailed information (.err): 1003

Share this post


Link to post
Share on other sites

E blza, resolvi o erro acima, debuguei e tal, retornou "ok" na tag retorno do xml, porem, quando vou ver na tabela se alterou, nao alterou, eia kkkkk

Share this post


Link to post
Share on other sites

Não sei se pode ser uma boa lembrar, só ideias, qualquer coisa ignora e segue adiante:

Você está checando o arquivo certo? Já me peguei salvando certo e procurando pelo arquivo salvo no lugar errado, onde havia outra tabela com o mesmo nome. Talvez compense verificar se em algum ponto antes da query que altera os valores você muda a conexão ou algo do tipo.

Ou então, você implementou o código em alguma transação que não finalizou?

Share this post


Link to post
Share on other sites

Entao, tah uma doidera isso aki kkkk, mas vamo lah: eu criei uma query pra alterar a tabela, conforme a imagem 1, e depois criei uma global procedure pra acessar essa query, conforme imagem 2....entao, ou eu to muito cego, ou to mexendo em varias coisas ao mesmo tempo e ficando meio loco kkkkk

 

Screenshot_1.jpg

Screenshot_2.jpg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now