Delete Firebird retornando um Erro

Delphi

Firebird

29/03/2016

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

Curtidas 0

Melhor post

Raimundo Pereira

Raimundo Pereira

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 ?
GOSTEI 2

Mais Respostas

William

William

29/03/2016

Eduardo desconfio que tem alguma trigger relacionada ao evento "DELETE" dessa tabela, se realmente existir ela pode estar alterando outra tabela.
GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

29/03/2016

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.
GOSTEI 0
William

William

29/03/2016

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

Mateus Ribeiro

29/03/2016

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

William

29/03/2016

Eu até pensei nisso, mas estou achando que foi erro no Ctrl+C ..Ctrl+V.
GOSTEI 0
Natanael Ferreira

Natanael Ferreira

29/03/2016

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.
GOSTEI 0
Raylan Zibel

Raylan Zibel

29/03/2016

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.
GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

29/03/2016

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.
GOSTEI 0
Raylan Zibel

Raylan Zibel

29/03/2016

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.
GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

29/03/2016

mas o meu Proposito era conseguir nos dois tanto no Delhpi quanto na ferramenta de banco de Dados.
GOSTEI 0
Raimundo Pereira

Raimundo Pereira

29/03/2016

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;
GOSTEI 0
Raylan Zibel

Raylan Zibel

29/03/2016

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.
GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

29/03/2016

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!)
GOSTEI 0
Raylan Zibel

Raylan Zibel

29/03/2016

[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í.
GOSTEI 0
Raylan Zibel

Raylan Zibel

29/03/2016

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.
GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

29/03/2016

Obrigado pela ajuda! o erro era mesmo da ferramenta!
obrigado a Todos !

Pode marcar como RESOLVIDO.
GOSTEI 1
Eduardo Richeli

Eduardo Richeli

29/03/2016

Parceiro, provavelmente o campo esta em seu componente, e quando vc utiliza a query acima, apresenta este erro!
GOSTEI 0
POSTAR