Mysql.lib - não aceita query multiplas?

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Mysql.lib - não aceita query multiplas?

Mensagem por ANDRIL »

Estou usando a lib citado com xharbour 1.0.0 simplex, só que notei que não consigo fazer query multiplas como por exemplo no php. Exemplo:

Código: Selecionar todos

cQuery:="
INSERT INTO minhatabela (cmp1,cmp2) VALUES (vlr1,vlr2);
DELETE FROM minhatabela WHERE id=1"
oQuery:=oServer:Query(cQuery)
Esta instrucao da erro no mysql. Agora se fizer cada uma separada da certo.

Outra dúvida, tem como saber se um INSERT INTO deu certo, ou seja, quando incluo o registro pelo php ele me retorna 1 sinalizando que foi incluso um registro ou 0 para negativo, como faço isso através desta lib.

Até+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Mysql.lib - não aceita query multiplas?

Mensagem por MARCELOG »

Olá companheiro,
qual menssagem de erro é exibida?

MarceloG
Água mole em pedra dura tanto bate que até espirra!
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Mysql.lib - não aceita query multiplas?

Mensagem por ANDRIL »

MARCELOG escreveu:qual menssagem de erro é exibida
Ola Marcelog, o erro é retornado pelo mysql do servidor, como se houve um erro na sintexe como postei acima, como se o DELETE estivesse com a sintexe errada.
Pego esta mesma sintexe e jogo no phpMyAdmin e funciona. Se faço um teste usando C# para conexao com Mysql tambem roda. Por isso acho que seja algo em relacao ao metodo Query da lib. Alguem conseguiu fazer o que eu estou tentando?

Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Mysql.lib - não aceita query multiplas?

Mensagem por MARCELOG »

Olá Andril,
a mensagem de erro é importante para tentar solucionar o problema.
Muitas são as possibilidades.
Apesar de não estar utilizando o mysql na atualidade, as instruções sql encadeadas nunca geraram erro de execução em meus projetos, seja no mysql, postgresql ou mesmo o sqlite.
No seu caso, alguma das instruções é executada? Qual?
Como você está fazendo referência a valores para inserção?
Os valores (vlr1 e vlr2) são do tipo correto para os campos da tabela mysql?

MarceloG
Água mole em pedra dura tanto bate que até espirra!
jamazevedo
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 29 Dez 2005 16:50
Localização: Manaus - AM

Mysql.lib - não aceita query multiplas?

Mensagem por jamazevedo »

Eu faço assim:

Código: Selecionar todos

cQuery1 := "INSERT INTO minhatabela (cmp1,cmp2) VALUES (vlr1,vlr2);"
oQuery   := oServer:Query(cQuery1)
cQuery2 := "DELETE FROM minhatabela WHERE id=1;"
oQuery   := oServer:Query(cQuery2)
______________________________________________________
Usando: Linux Ubuntu 18.04, Harbour 3.2.0dev r1811161533
______________________________________________________
José Airton de Menezes Azevedo
Manaus - AM
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Mysql.lib - não aceita query multiplas?

Mensagem por Toledo »

Andril, acho que falta apenas o ; no final da segunda linha da query.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
danielcrocciari
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 31 Out 2012 16:20
Localização: Catanduva / SP
Contato:

Mysql.lib - não aceita query multiplas?

Mensagem por danielcrocciari »

Andril,

Procede o que você está relatando, precisamos enviar as instruções uma a uma, a MySQL.lib não suporta múltiplas instruções. Atualmente no meu trabalho com Harbour utilizo apenas SQL, e devido a isso precisei adaptar todos os meus códigos que eram múltiplos, um pouco mais de trabalho, mas funciona perfeitamente.
Crocciari, Daniel
http://hmglights.wordpress.com/
Projetos com: HMG 3 + MySQL + SQLite
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Mysql.lib - não aceita query multiplas?

Mensagem por ANDRIL »

Obrigado a todos pelas respostas/ajuda.
danielcrocciari escreveu:não suporta múltiplas instruções
Sim, tive também que adaptar o meu código. Esta funcionando. Agora se utiliza TRANSACTION para banco INNODB fica complicado, né! Não é meu caso.

Abraços
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Responder