| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
uhtaldoluck Novato

Registrado: Sexta-Feira, 9 de Agosto de 2013 Mensagens: 26
|
Enviada: Qui Ago 15, 2013 4:24 pm Assunto: Erro: Attempt to execute an unprepared dynamic SQL statment |
|
|
Estou tentando criar um botão que faz um updade, no banco de dados e da esse erro: Attempt to execute an unprepared dynamic SQL statment
Título editado pela moderação:
Original:
| Citação: | | Alguém sabe que erro é esse ? |
Regras:
| Citação: | | 3- Use sempre um título que dê uma idéia do conteúdo da mensagem e que seja o mais objetivo possível. Com isto, você conseguirá atrair um número maior de pessoas interessadas no tema |
|
|
| Voltar ao Topo |
|
 |
CesarRocha Mestre

Registrado: Segunda-Feira, 30 de Mai de 2011 Mensagens: 794 Localização: São Paulo - SP
|
Enviada: Qui Ago 15, 2013 5:24 pm Assunto: |
|
|
Diz o cenário utilizado para facilitar (database, componente de acesso, código usado).
~bye |
|
| Voltar ao Topo |
|
 |
anderbelluno Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011 Mensagens: 1030 Localização: Cianorte-PR
|
Enviada: Qui Ago 15, 2013 5:30 pm Assunto: |
|
|
| posta o codigo do botao q vc esta dando o update. |
|
| Voltar ao Topo |
|
 |
uhtaldoluck Novato

Registrado: Sexta-Feira, 9 de Agosto de 2013 Mensagens: 26
|
Enviada: Qui Ago 15, 2013 5:51 pm Assunto: |
|
|
begin
QryUpdate.close;
QryUpdate.sql.clear;
QryUpdate.sql.add(' UPDATE COMPROVADO set COMPROVADO = 1 where DC_LAN = 1');
QryUpdate.ExecSQL();
end; |
|
| Voltar ao Topo |
|
 |
anderbelluno Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011 Mensagens: 1030 Localização: Cianorte-PR
|
Enviada: Dom Ago 18, 2013 5:27 am Assunto: |
|
|
Ola, me tire uma duvida.
UPDATE COMPROVADO set COMPROVADO = 1 where DC_LAN = 1');
o nome da sua tabela é COMPROVADO ou o campo da tabela é COMPROVADO? |
|
| Voltar ao Topo |
|
 |
uhtaldoluck Novato

Registrado: Sexta-Feira, 9 de Agosto de 2013 Mensagens: 26
|
Enviada: Seg Ago 19, 2013 7:42 am Assunto: |
|
|
| Sim um é COMPROVADO o outro é Comprovado |
|
| Voltar ao Topo |
|
 |
Oseiasao Membro Junior


Registrado: Sexta-Feira, 14 de Outubro de 2011 Mensagens: 303
|
Enviada: Seg Ago 19, 2013 9:02 am Assunto: |
|
|
Qual o banco vc ta usando e qual o componente ?
tira os parenteses do execsql tbeim amigo, não precisa dele. _________________ Melhor é o fim das coisas do que o principio delas .... (Salomão) |
|
| Voltar ao Topo |
|
 |
uhtaldoluck Novato

Registrado: Sexta-Feira, 9 de Agosto de 2013 Mensagens: 26
|
Enviada: Seg Ago 19, 2013 9:11 am Assunto: |
|
|
| Estou usando o Firebird Maestro 12.10 e também tenho o firebird 2.5 o componente é o TIBQuery |
|
| Voltar ao Topo |
|
 |
Oseiasao Membro Junior


Registrado: Sexta-Feira, 14 de Outubro de 2011 Mensagens: 303
|
Enviada: Seg Ago 19, 2013 9:21 am Assunto: |
|
|
Voce tentou executar esse update direto no banco pra testar ? _________________ Melhor é o fim das coisas do que o principio delas .... (Salomão) |
|
| Voltar ao Topo |
|
 |
uhtaldoluck Novato

Registrado: Sexta-Feira, 9 de Agosto de 2013 Mensagens: 26
|
Enviada: Seg Ago 19, 2013 9:29 am Assunto: |
|
|
| Não, mas essa opção vai ter que ficar no programa para que o cliente faça a atualização |
|
| Voltar ao Topo |
|
 |
Oseiasao Membro Junior


Registrado: Sexta-Feira, 14 de Outubro de 2011 Mensagens: 303
|
Enviada: Seg Ago 19, 2013 9:32 am Assunto: |
|
|
uhummm .. entendo que tem q ser no sistema, mas precisamos testar no banco pra ver se ele executa, porque se direto no banco não executar significa que não temos erro com o codigo no delphi, e sim um erro com o banco, ai vamos tratar o erro pelo banco _________________ Melhor é o fim das coisas do que o principio delas .... (Salomão) |
|
| Voltar ao Topo |
|
 |
uhtaldoluck Novato

Registrado: Sexta-Feira, 9 de Agosto de 2013 Mensagens: 26
|
Enviada: Seg Ago 19, 2013 9:39 am Assunto: |
|
|
| Hm e como eu faria isso ? |
|
| Voltar ao Topo |
|
 |
Oseiasao Membro Junior


Registrado: Sexta-Feira, 14 de Outubro de 2011 Mensagens: 303
|
Enviada: Seg Ago 19, 2013 9:43 am Assunto: |
|
|
executa só isso no banco
UPDATE COMPROVADO set COMPROVADO = 1 where DC_LAN = 1 _________________ Melhor é o fim das coisas do que o principio delas .... (Salomão) |
|
| Voltar ao Topo |
|
 |
Netrunner Aprendiz

Registrado: Domingo, 7 de Julho de 2013 Mensagens: 236
|
Enviada: Seg Ago 19, 2013 9:56 am Assunto: |
|
|
QryUpdate.close;
QryUpdate.sql.clear;
QryUpdate.open; //acho que vocé esqueceu de dar o open depois do close
QryUpdate.sql.add(' UPDATE COMPROVADO set COMPROVADO = 1 where DC_LAN = 1');
QryUpdate.ExecSQL(); |
|
| Voltar ao Topo |
|
 |
Oseiasao Membro Junior


Registrado: Sexta-Feira, 14 de Outubro de 2011 Mensagens: 303
|
Enviada: Seg Ago 19, 2013 10:07 am Assunto: |
|
|
não pode abrir antes de inserir os comandos sql ...
o open e ideal apenas para pesquisar, para atualizações usamos o execsql, pode-se usar o open tbeim para update e insert, porém, não e tão recomendável porque so irá atualizar o banco de dados quando ocorrer um commit no banco de dados, já com o execsql, a atualização no banco de dados é instantanea, sendo assim, se voce inserir esse open logo após limpar o banco vai dar erro amigo, porque ainda não tem comandos a serem executados.
o que voce pode fazer é trocar o execsql pelo open e ver se executa, caso sim, voce precisará criar algum artifício para atualizar o banco cara, seria mais ou menos assim, voce insere os comandos como está, logo abaixo voce fechado o banco de dados e abriria novamente aí sim, os comandos seriam salvos no banco.
EX: Voce cadastrou 10 clientes no banco usando open, ai o sistema travou, ou o micro do cliente desligou antes de voce fechar o sistema, quando voce for procurar as informações elas não estarão no banco porque o mesmo não foi fechado. _________________ Melhor é o fim das coisas do que o principio delas .... (Salomão) |
|
| Voltar ao Topo |
|
 |
|