ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

SQL com DBF esta com um erro...
Ir à página 1, 2  Próximo
 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
ftpadua
Novato
Novato


Registrado: Terça-Feira, 17 de Agosto de 2004
Mensagens: 32

MensagemEnviada: Qua Ago 08, 2007 8:49 am    Assunto: SQL com DBF esta com um erro... Responder com Citação

Bom dia

Estou com um problema aqui no meu sistema, veja o codigo:

Código:

   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('update CDFL07 set PRODUCAO = :Valor');
   query1.ParamByName('Valor').AsFloat := StrToFloat(Edit6.Text);
   Query1.SQL.Add('where Trim(Matricula) = :Pesquisa');
   query1.ParamByName('pesquisa').asString:= Edit1.Text;
   query1.ExecSQL;
   Query1.Open;
   Query1.Close;


Quando executado, ele altera a tabela, mas gera uma mensagem de erro "Erro ao criar handre do cursor".

Alguem sabe o q pode ser?

Obrigado
Fernando
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Ago 08, 2007 9:06 am    Assunto: Re: SQL com DBF esta com um erro... Responder com Citação

ftpadua escreveu:
Bom dia

Estou com um problema aqui no meu sistema, veja o codigo:

Código:

   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('update CDFL07 set PRODUCAO = :Valor');
   
   Query1.SQL.Add('where Trim(Matricula) = :Pesquisa');
   query1.ParamByName('pesquisa').asString:= Edit1.Text;
   query1.ParamByName('Valor').AsFloat := StrToFloat(Edit6.Text);
   query1.ExecSQL;
   Query1.Open;
   Query1.Close;


Quando executado, ele altera a tabela, mas gera uma mensagem de erro "Erro ao criar handre do cursor".

Alguem sabe o q pode ser?

Obrigado
Fernando

Existe algumas redundâncias no teu codigo.

Bom acho que o correto eh assim
Código:
query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('update CDFL07.DBF set Matricula :Pesquisa and PRODUCAO = :Valor');
   Query1.SQL.Add('where Trim(Matricula) = :Pesquisa');
   
   query1.ParamByName('pesquisa').asString:= Edit1.Text;
   query1.ParamByName('Valor').AsFloat := StrToFloat(Edit6.Text);
   query1.ExecSQL;


Bom nao testei aqui, faça os testes ai.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
ftpadua
Novato
Novato


Registrado: Terça-Feira, 17 de Agosto de 2004
Mensagens: 32

MensagemEnviada: Qua Ago 08, 2007 5:04 pm    Assunto: Responder com Citação

naum deu certo naum, alguem tem mais alguma ideia o q pode ser?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qua Ago 08, 2007 5:57 pm    Assunto: Responder com Citação

pra q serve esse
Código:
   Query1.Open;
   Query1.Close;
?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marciobatista
Profissional
Profissional


Registrado: Terça-Feira, 25 de Mai de 2004
Mensagens: 578

MensagemEnviada: Qua Ago 08, 2007 6:30 pm    Assunto: Responder com Citação

base de dados dbf nao suportao esses comandos. qulaquer duvida posta ai
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
danilozanaga
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 15 de Junho de 2005
Mensagens: 156

MensagemEnviada: Qua Ago 08, 2007 6:34 pm    Assunto: Responder com Citação

Ao invés de usar o parâmetro porque você não coloca direto os valores, já que a query é montada dinamicamente?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qua Ago 08, 2007 6:49 pm    Assunto: Responder com Citação

danilozanaga escreveu:
Ao invés de usar o parâmetro porque você não coloca direto os valores, já que a query é montada dinamicamente?



pede ele pra tirar o query.open e o query.close só pra vcer o q acontece!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Ago 08, 2007 7:14 pm    Assunto: Responder com Citação

No codigo que eu passei, nao tinha o open nem o close

Citação:
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('update CDFL07.DBF set Matricula :Pesquisa and PRODUCAO = :Valor');
Query1.SQL.Add('where Trim(Matricula) = :Pesquisa');

query1.ParamByName('pesquisa').asString:= Edit1.Text;
query1.ParamByName('Valor').AsFloat := StrToFloat(Edit6.Text);
query1.ExecSQL;
Query1.Open;
Query1.Close


Mesmo pq nao se usa OPEN em comando tipo update e insert
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qui Ago 09, 2007 10:25 am    Assunto: Responder com Citação

mas o erro ta dando no open!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marciobatista
Profissional
Profissional


Registrado: Terça-Feira, 25 de Mai de 2004
Mensagens: 578

MensagemEnviada: Qui Ago 09, 2007 12:12 pm    Assunto: Responder com Citação

como eu ja disse ta dando erro porque base de dados DBF (dbase III) nao supota comando sql
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qui Ago 09, 2007 12:14 pm    Assunto: Responder com Citação

marciobatista escreveu:
como eu ja disse ta dando erro porque base de dados DBF (dbase III) nao supota comando sql


Experiente!!

quem te disse isso?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
AlexSousa
Colaborador
Colaborador


Registrado: Sexta-Feira, 12 de Novembro de 2004
Mensagens: 1879
Localização: São luís - MA

MensagemEnviada: Qui Ago 09, 2007 1:30 pm    Assunto: Responder com Citação

blz ftpadua,


post o erro q esta dando com o comando q o Adriano te passou..blz




abraços,
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qui Ago 09, 2007 3:37 pm    Assunto: Responder com Citação

gilsonnrodrigues escreveu:
marciobatista escreveu:
como eu ja disse ta dando erro porque base de dados DBF (dbase III) nao supota comando sql


Experiente!!

quem te disse isso?
Tambem discordo, pois faço isso tranquilamento no piradox, usando DBF
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marciobatista
Profissional
Profissional


Registrado: Terça-Feira, 25 de Mai de 2004
Mensagens: 578

MensagemEnviada: Qui Ago 09, 2007 6:36 pm    Assunto: Responder com Citação

entao foi mal minha. desculpa ae. achei q nao dava
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Darvane
Membro Junior
Membro Junior


Registrado: Domingo, 1 de Junho de 2003
Mensagens: 350

MensagemEnviada: Qui Ago 09, 2007 9:13 pm    Assunto: Responder com Citação

É que vc tá fechando a tabela e executando ExecSql

Tente somente o código abaixo:

query1.SQL.Clear;
query1.SQL.Add('update CDFL07.DBF set Matricula :Pesquisa and PRODUCAO = :Valor');
Query1.SQL.Add('where Trim(Matricula) = :Pesquisa');

query1.ParamByName('pesquisa').asString:= Edit1.Text;
query1.ParamByName('Valor').AsFloat := StrToFloat(Edit6.Text);
query1.ExecSQL;


===

Flw
Inteh!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Ir à página 1, 2  Próximo
Página 1 de 2

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB