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 

invalid BLOB ID

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
e-eduardo
Novato
Novato


Registrado: Segunda-Feira, 17 de Abril de 2006
Mensagens: 7

MensagemEnviada: Dom Set 23, 2007 5:55 pm    Assunto: invalid BLOB ID Responder com Citação

Criei uma stored procedure que uso para inserir os registros de saída no estoque na tabela "SAIDAS". Ao utilizar a SP no delphi recebo a mensagem "invalid BLOB ID". O curioso é que tenho uma SP muitíssimo parecida para as entradas que funciona sem problemas. Já fiz uns testes e o problema está exatamente na instrução INSERT para a tabela SAIDAS. Estou utilizando Delphi 7 / Firebird 2.0 em servidor Linux / IBX para acesso.

Código:

try
  DmFB.TrPadrao.StartTransaction;

  with SpSaidasIns do
  begin
    Params[1].AsDateTime := StoD(EdtData.Text);
    Params[2].AsInteger := Tipos[CmbTipo.ItemIndex];
    Params[3].AsInteger := Estoque1.Id;
    Params[4].AsInteger := Estoque2.Id;
    try
      Stream := TMemoryStream.Create;
      MmoHistorico.Lines.SaveToStream(Stream);
      Params[5].LoadFromStream(Stream, ftMemo);
    finally
      Stream.Free;
    end;
    Params[6].AsInteger := DmFB.Usuario.Id;
    Prepare;
    ExecProc;

    DmFB.LOGLimpar;
    DmFB.LOGAdicionar(Format('SAIDA: %d, DATA: %s, TIPO: %s, ESTOQUE:¨%d', [Params[0].AsInteger, EdtData.Text, CmbTipo.Text, Estoque1.Id]));
    DmFB.LOGGravar(20100210, IPtoCardinal(StoIP(ObterIP)), 'ID: ' + Params[0].AsString, DmFB.TrPadrao);
  end;

  DmFB.TrPadrao.Commit;
  S := DmFB.SaidaDados(SpSaidasIns.Params[0].AsInteger, True);
  Self.Close;
except
  on E: Exception do
  begin
    DmFB.TrPadrao.Rollback;
    DmFB.Erro(E.Message);
  end;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
pestana
Colaborador
Colaborador


Registrado: Sábado, 25 de Junho de 2005
Mensagens: 3147
Localização: Araras-SP

MensagemEnviada: Sex Jan 11, 2008 5:44 pm    Assunto: Responder com Citação

Ola Eduardo, você consegiu resolver o seu problema? aqui está aparecendo está mesma mensagem invalid BLOB ID At procedure quando vou incluir um registro através da SP.

agora quando vou executar a SP no IBExpert a mensagem é outra:
Citação:
Invalid insert or update value(s): object columns are
constrained - no 2 table rows can have duplicate column values.
attempt to store duplicate value (visible to active transactions) in unique index "IDXUK_LOGIN_USER".
At procedure 'ADD_USUARIO'.


está mensagem apareceu porque eu dupliquei o valor do campo, como o campo é do tipo Unique.

eu queria que aparecesse a mensagem de erro igual que apareceu no banco na aplicação para eu tratar o erro, como devo resolver isso, alguem sabe?


Obrigado pela Atenção,
Pestana.
_________________
Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
pestana
Colaborador
Colaborador


Registrado: Sábado, 25 de Junho de 2005
Mensagens: 3147
Localização: Araras-SP

MensagemEnviada: Sex Jan 11, 2008 7:03 pm    Assunto: Responder com Citação

a SP é essa e o campo do tipo unique index é a Senha
Código:
SET TERM ^ ;
CREATE PROCEDURE add_usuario (
idUserAdm integer,
login varchar(15) character set win1252,
senha varchar(10) character set win1252,
nome varchar(50) character set win1252,
stsImp char(1) character set win1252,
obs blob sub_type 1 character set win1252,
foto blob sub_type 0)
RETURNS (code integer)
AS
BEGIN
   INSERT INTO usuario (id_user_adm, login, senha, nome, statusImp, obs, foto)
   VALUES (:idUserAdm, :login, :senha, :nome, :stsImp, :obs, :foto)
   RETURNING id_user INTO :code;
END ^
SET TERM ; ^


agredeço pela Atenção,
Pestana.
_________________
Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
pestana
Colaborador
Colaborador


Registrado: Sábado, 25 de Junho de 2005
Mensagens: 3147
Localização: Araras-SP

MensagemEnviada: Seg Jan 14, 2008 2:02 pm    Assunto: Responder com Citação

UP
_________________
Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
pestana
Colaborador
Colaborador


Registrado: Sábado, 25 de Junho de 2005
Mensagens: 3147
Localização: Araras-SP

MensagemEnviada: Seg Jan 14, 2008 6:00 pm    Assunto: Responder com Citação

UP
_________________
Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
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
Página 1 de 1

 
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