Fórum Gravação em Access com ExecSQL(ADOQuery) #356360

01/04/2008

0

Caros, estou tentado inserir dados em uma tabela Access, com o ExecSQL, tenho minha classe de persistência, o que ocorre é: o ExecSQl é executado, porém o registro não é gravado e não retorna erro algum.
Eis ai a função de inserção:

function TClientes.Inserir: boolean;
begin
with _PadoQuery do
begin
Close;
Sql.Clear;
Sql.Text := ´ Insert into Clientes ´+
´ (CPF, DataCadastro, Nome, ´+
´ Sexo, DtNascimento, Endereco, Bairro, ´+
´ Cidade, Estado, CEP)´+
´ Values ´+
´ (:CPF, :DataCadastro, :Nome, ´+
´ :Sexo, :DtNascimento, :Endereco, :Bairro, ´+
´ :Cidade, :Estado, :CEP)´;

Parameters.ParamByName(´CPF´).Value := FCPF;
Parameters.ParamByName(´DataCadastro´).Value := FDataCadastro;
Parameters.ParamByName(´Nome´).Value := FNome;
Parameters.ParamByName(´Sexo´).Value := FSexo;
Parameters.ParamByName(´DtNascimento´).Value := FDtNascimento;
Parameters.ParamByName(´Endereco´).Value := FEndereco;
Parameters.ParamByName(´Bairro´).Value := FBairro;
Parameters.ParamByName(´Cidade´).Value := FCidade;
Parameters.ParamByName(´Estado´).Value := FEstado;
Parameters.ParamByName(´CEP´).Value := FCEP;
try
ExecSQL;
result := true;
//GlobalConexao.conexao.CommitTrans;
except
On E:Exception do
begin
Showmessage(´Falha na Inclusão dos Dados!´#1310´Mensagem: ´+E.Message);
result := false;
end;
end;
end;

end;

desde já agradeço a ajuda.


R7

R7

Responder

Posts

01/04/2008

Alineri

R7,

ja passei por isso com componentes de acesso da paleta ADO.

qual provedor de conexao voce esta utilizando ? de preferencia por ole db.

verifique as configuracoes do ADOConnection, e ultimo faz a seguinte modificacao no seu codigo, nao sei qual a versao do delphi voce esta utilizando mas ja tive esse mesmo problema em algumas versoes.

coloque _PadoQuery.ExecSQL ao inves de somente EXECSQL, sei que parece um absurdo mas ja tive situacoes utilizando with que alguns parametros eram simplesmente ignorados

um forte abraco
alineri


Responder

Gostei + 0

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

Aceitar