Página 1 de 1
Mysql.lib - não aceita query multiplas?
Enviado: 06 Nov 2012 10:16
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é+
Mysql.lib - não aceita query multiplas?
Enviado: 06 Nov 2012 10:52
por MARCELOG
Olá companheiro,
qual menssagem de erro é exibida?
MarceloG
Mysql.lib - não aceita query multiplas?
Enviado: 06 Nov 2012 11:29
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+
Mysql.lib - não aceita query multiplas?
Enviado: 06 Nov 2012 16:28
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
Mysql.lib - não aceita query multiplas?
Enviado: 07 Nov 2012 10:15
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)
Mysql.lib - não aceita query multiplas?
Enviado: 12 Nov 2012 17:43
por Toledo
Andril, acho que falta apenas o ; no final da segunda linha da query.
Abraços,
Mysql.lib - não aceita query multiplas?
Enviado: 13 Nov 2012 09:33
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.
Mysql.lib - não aceita query multiplas?
Enviado: 14 Nov 2012 13:45
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