Delete Firebird retornando um Erro

29/03/2016

0

Boa tarde!

Estou com uma duvida com relação a instrução Delete do Firebird
já tente
DELETE FROM ANDAMENTOS_PROCESSUAIS
WHERE 
 ANDAMENTOS_PROCESSUAIS.NUMERO_PROCESSO = '0000027-07-2015.5.05.0001
e assim
DELETE CASCADE FROM ANDAMENTOS_PROCESSUAIS
WHERE 
 NUMERO_PROCESSO = '0000027-07-2015.5.05.0001

só que retorna uma erro "qData: Field '' not found" não sei o que é não achei nada no google sobre isso.
Eduardo Mendonça

Eduardo Mendonça

Responder

Post mais votado

30/03/2016

1: Tente realizar o delete pela ferramenta Ibexpert, apenas para ter certeza

DELETE FROM ANDAMENTOS_PROCESSUAIS
WHERE
ANDAMENTOS_PROCESSUAIS.NUMERO_PROCESSO = '0000027-07-2015.5.05.0001'


2. Está tentando executar o delete pelo Delphi? Como está tentando ?

Raimundo Pereira

Raimundo Pereira
Responder

Mais Posts

29/03/2016

William

Eduardo desconfio que tem alguma trigger relacionada ao evento "DELETE" dessa tabela, se realmente existir ela pode estar alterando outra tabela.
Responder

30/03/2016

Eduardo Mendonça

Este baco é bem Simples não tem trigger

realmente não sei o que está acontecendo porque eu consigo inserir e fazer update mais não consigo deletar pois aparece esse erro "qData: Field '' not found"
esste qData nem tem no banco e aparece quando tento o
DELETE FROM table_name
WHERE some_column=some_value;
em qualquer tabela do banco.
Responder

30/03/2016

William

Se você está usando "CASCADE" então está deletando usando chaves estrangeiras, existem tabelas que se relacionam com essa que você está alterando?
Responder

30/03/2016

Mateus Ribeiro

Bom dia! Não ta faltando fechar o texto com uma aspa ali?
Responder

30/03/2016

William

Eu até pensei nisso, mas estou achando que foi erro no Ctrl+C ..Ctrl+V.
Responder

30/03/2016

Natanael Ferreira

Dê duplo clique na query que está usando e veja se este field está listado.

Sugiro excluir todos os fields e adicionar novamente, se necessário.
Responder

30/03/2016

Raylan Zibel

Da erro se fizer o delete direto no banco (ibexpert, por exemplo) ou só da erro quando executa pelo Delphi?
Se for só pelo Delphi, poste o código pra entendermos melhor, por favor.
Responder

30/03/2016

Eduardo Mendonça

Bom Dia!

Bom dia! Não ta faltando fechar o texto com uma aspa ali?

La em cima ta sem as aspas por conta do Ctrl+C Ctrl+V mais eu botei com,

Se você está usando "CASCADE" então está deletando usando chaves estrangeiras, existem tabelas que se relacionam com essa que você está alterando?

Com relação ao CASCADE só foi uma tentativa já que não sou tão experiente em SQL :(

1: Tente realizar o delete pela ferramenta Ibexpert, apenas para ter certeza

2. Está tentando executar o delete pelo Delphi? Como está tentando ?


Não tenho o Ibexpert instalado mas posso instalar para testar.
A instrução
DELETE FROM ANDAMENTOS_PROCESSUAIS
WHERE 
ANDAMENTOS_PROCESSUAIS.NUMERO_PROCESSO = '0000027-07-2015.5.05.0001'

está assim e Funciona no Delphi 7 só que no SQL Manager for InterBase & Firebird v.5.0.0.1 da o erro "qData: Field '' not found" estou achando que pode ser a ferramenta desatualizada.
Responder

30/03/2016

Raylan Zibel

está assim e Funciona no Delphi 7 só que no SQL Manager for InterBase & Firebird v.5.0.0.1 da o erro "qData: Field '''' not found" estou achando que pode ser a ferramenta desatualizada.


pronto.
Responder

30/03/2016

Eduardo Mendonça

mas o meu Proposito era conseguir nos dois tanto no Delhpi quanto na ferramenta de banco de Dados.
Responder

31/03/2016

Raimundo Pereira

Bom dia,

Nunca realizei a nomeação de uma tabela usando (.)
Tente trocar isso
ANDAMENTOS_PROCESSUAIS.NUMERO_PROCESSO
Por isso
NUMERO_PROCESSO

Acredito você não ter o campo
ANDAMENTOS_PROCESSUAIS.NUMERO_PROCESSO e sim NUMERO_PROCESSO// Por isso ele retorna o erro de Field.

Veja se resolve

'DELETE FROM ANDAMENTOS_PROCESSUAIS'+// a Tabele
' WHERE'+ /Condição
'NUMERO_PROCESSO = '''+'0000027-07-2015.5.05.0001'+''''; //Campo

Para usar pelo delphi

Coloque FDQuery

Procedimento para delete usando um button


procedure TGerenciamento.DeleteClick(Sender: TObject);
VAR SCRIPT_DELETE:STRING;
begin
SCRIPT_DELETE:=
'DELETE FROM ANDAMENTOS_PROCESSUAIS'+
' WHERE'+
'NUMERO_PROCESSO = '''+'0000027-07-2015.5.05.0001'+'''';

DM.FDQuery1.SQL.Clear;
DM.FDQuery1.SQL.Text:=SCRIPT_DELETE;

TRY
DM.FDQuery1.ExecSQL;
ShowMessage('Exclusão do processo realizada com sucesso');
EXCEPT
ShowMessage('Falha na Exclusão');
END;
Responder

31/03/2016

Raylan Zibel

mas o meu Proposito era conseguir nos dois tanto no Delphi quanto na ferramenta de banco de Dados.

Se puder compartilhar o script do banco, tenho o EMS de 2011 e ibexpert pra testar aqui.
Responder

31/03/2016

Eduardo Mendonça

Se puder compartilhar o script do banco, tenho o EMS de 2011 e ibexpert pra testar aqui.

esse é o Tabela
CREATE TABLE ANDAMENTOS_PROCESSUAIS (
  CODIGO_ANDAMENTO INTEGER NOT NULL,
  NUMERO_PROCESSO VARCHAR(30) CHARACTER SET WIN1251 NOT NULL COLLATE WIN1251,
  INSTANCIA INTEGER NOT NULL,
  DESCRICAO_ANDAMENTO VARCHAR(200) CHARACTER SET WIN1251 NOT NULL COLLATE WIN1251,
  ACESSO_PUBLICO VARCHAR(1) CHARACTER SET WIN1251 NOT NULL COLLATE WIN1251,
  DATA DATE NOT NULL,
  DATA_INCLUSAO DATE,
  HORA VARCHAR(5) CHARACTER SET WIN1251 NOT NULL COLLATE WIN1251,
  EMAIL_ENVIADO VARCHAR(1) CHARACTER SET WIN1251 COLLATE WIN1251,
  CODIGO_PUBLICACAO INTEGER,
  CODIGO_CONSULTA INTEGER,
  CODIGO_AUDIENCIA INTEGER,
  CODIGO_AGENDAMENTO INTEGER,
  USUARIO_CADASTRO VARCHAR(15) CHARACTER SET WIN1251 COLLATE WIN1251,
  USUARIO_ALTERACAO VARCHAR(15) CHARACTER SET WIN1251 COLLATE WIN1251,
  DATA_ALTERACAO DATE,
  HORA_ALTERACAO VARCHAR(5) CHARACTER SET WIN1251 COLLATE WIN1251,
  OBSERVACAO VARCHAR(10000) CHARACTER SET WIN1251 COLLATE WIN1251,
  NOME_IMAGEM_ANDAMENTO VARCHAR(50) CHARACTER SET WIN1251 COLLATE WIN1251,
  NUMERO_PROCESSO_AUX VARCHAR(30) CHARACTER SET WIN1251 NOT NULL COLLATE WIN1251,
  ATO_FATURAVEL VARCHAR(1) CHARACTER SET WIN1251 COLLATE WIN1251);


ALTER TABLE ANDAMENTOS_PROCESSUAIS ADD PRIMARY KEY (CODIGO_ANDAMENTO);



Acredito você não ter o campo
ANDAMENTOS_PROCESSUAIS.NUMERO_PROCESSO e sim NUMERO_PROCESSO// Por isso ele retorna o erro de Field.

também da o mesmo erro;( e como eu já mencionei acima pelo Delphi eu consigo (muito Obrigado!)
Responder

31/03/2016

Raylan Zibel

[img:descricao=delete no ibexpert]http://arquivo.devmedia.com.br/forum/imagem/244662-20160331-145201.png[/img]
[img:descricao=delete no ems]http://arquivo.devmedia.com.br/forum/imagem/244662-20160331-145220.png[/img]

Nenhum erro. Provavelmente algum bug na versão da ferramenta aí.
Responder

31/03/2016

Raylan Zibel

A versao do ems pra postgresql que tenho aqui da erro toda vez que conecta no banco. Erro de field not found nas tabelas de controle do programa. Só nessa ferramenta que dá erro.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar