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 

Problema insert no TSQLDataset[RESOLVIDO]

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


Registrado: Segunda-Feira, 21 de Fevereiro de 2011
Mensagens: 83

MensagemEnviada: Seg Out 22, 2012 8:16 am    Assunto: Problema insert no TSQLDataset[RESOLVIDO] Responder com Citação

Bom dia galera

Estou tendo dificuldades ao passar para o CommandText do TSQLDataset a sintaxe de insert. Ao executar o comando pelo delphi ele me retorna um erro dizendo q a primeira coluna q passo para o insert, não existe. Se executado no banco de dados, nesse caso Firebird, o comando executa sem nenhum problema. Alguem poderia me ajudar? agradeço desde já


Editado pela última vez por danielms.roda em Seg Out 22, 2012 3:40 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Out 22, 2012 9:38 am    Assunto: Responder com Citação

Bom dia,

Acho melhor você postar a instrução SQL e o código utilizados.


Editado pela última vez por imex em Dom Out 01, 2023 5:17 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
danielms.roda
Novato
Novato


Registrado: Segunda-Feira, 21 de Fevereiro de 2011
Mensagens: 83

MensagemEnviada: Seg Out 22, 2012 2:39 pm    Assunto: Responder com Citação

imex escreveu:
Bom dia,

Acho melhor você postar a instrução SQL e o código utilizados.


A função na qual executo o método de inserção é a seguinte:
Código:
class function TUsuarioODA.Insert(aUsuario: TUsuario): Boolean;
begin
  with TSQLDataSet.Create(nil) do
  try
    SQLConnection := DMMyFinance.SQLConnectionMyFinance;
    CommandText := 'insert into users (senha, login, nome, cpf, rg, data_nasc)' +
                   'values (:senha, :login, :nome, :cpf, :rg, :data_nasc)';

    Params[0].AsString := aUsuario.Login;
    Params[1].AsString := aUsuario.Senha;
    Params[2].AsString := aUsuario.Nome;
    Params[3].AsString := aUsuario.CPF;
    Params[4].AsString := aUsuario.RG;
    Params[5].AsDate := aUsuario.DataNasc;

    Result := ExecSQL(True) > 0;
  finally
    Free;
  end;
end;


e é aqui que chamo essa função:

Código:
procedure TfrmCadastroUsuario.FrameCadastro1btnSalvarClick(Sender: TObject);
begin
  if Validate then
    if TMensagens.MsgPergunta('Deseja realmente salvar as alterações feitas?') then
    begin
      SetValues;

      if TUsuarioODA.FindByCode(FUsuario) then
      begin
        if TUsuarioODA.Save(FUsuario) then
          TMensagens.MsgAviso('Dados alterados com sucesso!');
      end
      else
       if TUsuarioOda.Insert(FUsuario) then
         TMensagens.MsgAviso('Registro inserido com sucesso!');

      BloquearEdicao(True);
      BloquearBotoes(oInactive);
    end;
end;


Ao executar o sql, fala que a primeira coluna(neste caso coluna LOGIN) não existe, porém executo a query pelo banco e funciona
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
danielms.roda
Novato
Novato


Registrado: Segunda-Feira, 21 de Fevereiro de 2011
Mensagens: 83

MensagemEnviada: Seg Out 22, 2012 3:14 pm    Assunto: Responder com Citação

Consegui resolver, no ExecSQL, mudei o parametro para false e funcionou
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Out 22, 2012 3:22 pm    Assunto: Responder com Citação

Que bom que resolveu, mas só um detalhe... parece que a ordem dos parâmetros Login e Senha está invertida (Senha e Login na instrução SQL, Login e Senha no código que atribui os valores).
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
danielms.roda
Novato
Novato


Registrado: Segunda-Feira, 21 de Fevereiro de 2011
Mensagens: 83

MensagemEnviada: Seg Out 22, 2012 3:23 pm    Assunto: Responder com Citação

imex escreveu:
Que bom que resolveu, mas só um detalhe... parece que a ordem dos parâmetros Login e Senha está invertida (Senha e Login na instrução SQL, Login e Senha no código que atribui os valores).


é verdade, devo ter me confudido na hora de codificar, obrigado! Smile
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
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