Ir para conteúdo
Fórum Script Brasil
  • 0

Erro de Exceção usando ADO


valtino

Pergunta

Estou usando delphi + Sql Server + ADO e esta aparecendo esta mensagem de erro abaixo quando vai de um TwwDBLookupCombo:

Erro:Access violation at address 4034E073 in module 'dbrtl70.bpl'. Read of address 0000000000.

já mudei toda esta aplicação de DBE para ADO e agora isto, so acontece nas TwwDBLookupCombo.

Grato.

Valtino.

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0
coloque o codigo que esta na TwwDBLookupCombo

Começa aqui quando EU abro a ABA de Cadastro que abre as tabelas (ADO) e a tela de inclusao:

procedure TFCadLanc_Servico.TSCadShow(Sender: TObject);
begin

  QItenSoma.Close;
  QItenSoma.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;
  QItenSoma.Open;

  QItenOrdemServer.Close;
  QItenOrdemServer.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;
  QItenOrdemServer.Open;

  TOrdemServico.Close;
  TOrdemServico.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;
  TOrdemServico.Open;
  TOrdemServico.Edit;

end;
Codigo da ADOTables
TADOQuery:QOrdemServicoID_ORDEM
Select * From OrdemServico
where ID_STBL = :cod
order by ORSV_EMISSAO desc
** Esta Query é aberta quando chama o formulario e fica em uma GRID que contem todas as Ordem de Serviços cadastras, as demais são quando pressiono a aba de cadastro, onde abre a tela de cadastro com as informações nas combos, edit e Dbedit, e quando seleciono a aba que aparece o erro, existem tambem na uma grid com os detalhamento da ordem de serviço, a Quary (QItenOrdemServer) que alimenta a Grid.
TADOQuery:  QItenSoma
Select Sum(ORSV_VLRTOTAL) Total
From ORDSERVMOV
Where ID_ORDEMSERVICO= :Cod
TADOQuery:QItenOrdemServer
Select * From ORDSERVMOV
Where ID_ORDEMSERVICO= :Cod
order by  ID_MVTOORSV desc
TADOQuery:TOrdemServico
Select * From OrdemServico
Where ID_ORDEM= :Cod

Link para o comentário
Compartilhar em outros sites

  • 0
Erro:Access violation at address 4034E073 in module 'dbrtl70.bpl'. Read of address 0000000000.

já mudei toda esta aplicação de DBE para ADO e agora isto, so acontece nas TwwDBLookupCombo.

o ADO usa o adortl70.bpl

o DBE usa o dbrtl70.bpl

O erro: Violação de endereço de memoria no modulo dbrtl70.bpl, significa que alguma outra rotina esta tentando escrever em uma posição de memoria já alocada pelo modulo dbrtl70.bpl.

OBS: já que voce mudou toda a aplicação para ADO, verifique em todo o seu projeto, se voce não esqueceu de tirar da uses alguma chamada para o DBE

Isso tambem pode ser bug da dbrtl70.bpl ... no link abaixo existe um Update para o Delphi 7 que corrige esse erro

http://edn.embarcadero.com/article/32337

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas

Esta dando erro para baixar deve ser a minha rede aqui. Outra coisa tive verificando passo a passo para saber aonde exatamente ocorre a exceção e ela ocorre na verdade não é no componente twwDBComBox e sim ao abrir a TADQuery:QItenOrdemServer

codigo:

QItenOrdemServer.Close;

QItenOrdemServer.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;

QItenOrdemServer.Open;

não sei ainda o motivo, mas uso esta TADOQuery em outros lugares do sistema e por isto que se torna importante para mim ter a atualização do Delphi 7, para evitar erros futuros em outro parte do sistema.

Vou analisar o que pode estar acontecendo talvez relacionamento com outro tabelas, mas por gentileza me envie esta atualização para que eu tenha mais segurança no funcionamento do sistema.

Estou negociando com a Embargadero a Versao do Delphi XE3, se possivel gostaria de sua opinião a respeito.

Fico no aguardo. Obrigado.

Valtino.

valtino_fcriminal@hotmail.com

valtino.oliveira@hotmail.com

veja se consegue nesse link

http://www.sourcecodeprojects.com/1282322/

OBS: se não conseguir, basta voce trocar o TwwDBLookupCombo pelo TDBLookupComboBox ( nativo do delphi ) que vai funcionar do mesmo jeito

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Outra coisa tive verificando passo a passo para saber aonde exatamente ocorre a exceção e ela ocorre na verdade não é no componente twwDBComBox e sim ao abrir a TADQuery:QItenOrdemServer

tente assim:

QItenOrdemServer.Active := false;
QItenOrdemServer.SQL.Clear;
QItenOrdemServer.SQL.Add('Select * From ORDSERVMOV ');
QItenOrdemServer.SQL.Add('Where ID_ORDEMSERVICO = :Cod ');
QItenOrdemServer.SQL.Add('order by  ID_MVTOORSV desc ');
QItenOrdemServer.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;
QItenOrdemServer.Active := true;

veja se esta passando o valor para o Cod

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Passo o Valor sim. O erro continua.

Somente nesta tabela.

Outra coisa tive verificando passo a passo para saber aonde exatamente ocorre a exceção e ela ocorre na verdade não é no componente twwDBComBox e sim ao abrir a TADQuery:QItenOrdemServer

tente assim:

QItenOrdemServer.Active := false;
QItenOrdemServer.SQL.Clear;
QItenOrdemServer.SQL.Add('Select * From ORDSERVMOV ');
QItenOrdemServer.SQL.Add('Where ID_ORDEMSERVICO = :Cod ');
QItenOrdemServer.SQL.Add('order by  ID_MVTOORSV desc ');
QItenOrdemServer.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;
QItenOrdemServer.Active := true;

veja se esta passando o valor para o Cod

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas

Muito obrigado pelas dicas, revisei todo o codigo e tabelas, tirando aqueles varios edit, post que fazemos quando estamos desenvolvendo eu tudo certo o erro encerrou.

Vou fazer o mesmo nos outros codigos, uma limpeza.

Aguardo a sua opinião sobre o Delphi X3

Obrigado.

Abraços.

Passo o Valor sim. O erro continua.

Somente nesta tabela.

experimente executar esse codigo sozinho em outra aplicação, e veja o resultado

se for o mesmo, refaça a sua tabela

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...