Fórum Botão Gravar / Alterar - Erro #529253
19/08/2015
0
Tenho um form de um cadastro com 7 botões(Incluir/Gravar/Alterar/Cancelar/Excluir/Pesquisar/Sair).Quando é um novo registro eu consigo gravar normal, mas se for uma alteração eu não consigo gravar, quero fazer assim, se for um novo registro faz um insert se for uma alteração faz um update mais não estou conseguindo, fazer a parte do update, da erro já pesquisei e não achei solução!!!
[img:descricao=Form de Cadastro]http://arquivo.devmedia.com.br/forum/imagem/316964-20150819-213803.jpg[/img]
[img:descricao=Mensagem do Erro]http://arquivo.devmedia.com.br/forum/imagem/316964-20150819-213952.jpg[/img]
Código do botão gravar
procedure TFrmCadClientes.BtnGravarClick(Sender: TObject);
begin
f_operacao:='I';
if f_operacao='I' then
try
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD;
FrmPrincipal.ConexaoBd.StartTransaction(Transacao);
SqlDtSCadClientes.Close;
SqlDtSCadClientes.CommandType := ctQuery;
SqlDtSCadClientes.CommandText:='insert into CADCLIENTES(CODIGO, SITUACAO, DATACADASTRO, ULTIMAALTERACAO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'OPERADORCODIGO, OPERADORNOME, NOMERAZAO, FANTASIAAPELIDO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'CIDADECODIGO, CIDADENOME, ESTADO, CEP, ENDERECO, NUMERO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'BAIRROCODIGO, BAIRRONOME, COMPLEMENTO, RG, CNPJCPFCODIGO, CNPJCPF, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'DATANASCIMENTO, INSCRICAOESTADUAL, INSCRICAOMUNICIPALPRODUTOR, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'EMAIL, CONTATO, TELEFONE1, TELEFONE2, CELULAR, OBSERVACOES)';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'values(:CODIGO, :SITUACAO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':DATACADASTRO, :ULTIMAALTERACAO, :OPERADORCODIGO, :OPERADORNOME, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':NOMERAZAO, :FANTASIAAPELIDO, :CIDADECODIGO, :CIDADENOME, :ESTADO, :CEP, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':ENDERECO, :NUMERO, :BAIRROCODIGO, :BAIRRONOME, :COMPLEMENTO, :RG, :CNPJCPFCODIGO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':CNPJCPF, :DATANASCIMENTO, :INSCRICAOESTADUAL, :INSCRICAOMUNICIPALPRODUTOR, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':EMAIL, :CONTATO, :TELEFONE1, :TELEFONE2, :CELULAR, :OBSERVACOES)';
SqlDtSCadClientes.ParamByName('CODIGO').AsInteger := StrToInt(EdtCodigo.Text);
SqlDtSCadClientes.ParamByName('SITUACAO').AsString := EdtSituacao.Text;
SqlDtSCadClientes.ParamByName('DATACADASTRO').AsDate := StrToDate(MskDataCadastro.Text);
SqlDtSCadClientes.ParamByName('ULTIMAALTERACAO').AsDate:= StrToDate(MskUltimaAlteracao.Text);
SqlDtSCadClientes.ParamByName('OPERADORCODIGO').AsInteger := StrToInt(EdtOperadorCodigo.Text);
SqlDtSCadClientes.ParamByName('OPERADORNOME').AsString := EdtOperadorNome.Text;
SqlDtSCadClientes.ParamByName('NOMERAZAO').AsString := EdtNomeRazao.Text;
SqlDtSCadClientes.ParamByName('FANTASIAAPELIDO').AsString := EdtFantasiaApelido.Text;
SqlDtSCadClientes.ParamByName('CIDADECODIGO').AsInteger := StrToInt(EdtCidadeCodigo.Text);
SqlDtSCadClientes.ParamByName('CIDADENOME').AsString := EdtCidadeNome.Text;
SqlDtSCadClientes.ParamByName('ESTADO').AsString := EdtEstado.Text;
SqlDtSCadClientes.ParamByName('CEP').AsString := MskCep.Text;
SqlDtSCadClientes.ParamByName('ENDERECO').AsString := EdtEndereco.Text;
SqlDtSCadClientes.ParamByName('NUMERO').AsString := EdtNumero.Text;
SqlDtSCadClientes.ParamByName('BAIRROCODIGO').AsInteger := StrToInt(EdtBairroCodigo.Text);
SqlDtSCadClientes.ParamByName('BAIRRONOME').AsString := EdtBairroNome.Text;
SqlDtSCadClientes.ParamByName('COMPLEMENTO').AsString := EdtComplemento.Text;
SqlDtSCadClientes.ParamByName('RG').AsString := EdtRg.Text;
SqlDtSCadClientes.ParamByName('CNPJCPFCODIGO').AsInteger := StrToInt(EdtCnpjCpfCodigo.Text);
SqlDtSCadClientes.ParamByName('CNPJCPF').AsString := MskCnpjCpf.Text;
SqlDtSCadClientes.ParamByName('DATANASCIMENTO').AsDate := StrToDate(MskDataNascimento.Text);
SqlDtSCadClientes.ParamByName('INSCRICAOESTADUAL').AsString := EdtInscricaoEstadual.Text;
SqlDtSCadClientes.ParamByName('INSCRICAOMUNICIPALPRODUTOR').AsString := EdtInscricaoMunicipalProdutor.Text;
SqlDtSCadClientes.ParamByName('EMAIL').AsString := EdtEmail.Text;
SqlDtSCadClientes.ParamByName('CONTATO').AsString := EdtContato.Text;
SqlDtSCadClientes.ParamByName('TELEFONE1').AsString := MskTelefone1.Text;
SqlDtSCadClientes.ParamByName('TELEFONE2').AsString := MskTelefone2.Text;
SqlDtSCadClientes.ParamByName('CELULAR').AsString := MskCelular.Text;
SqlDtSCadClientes.ParamByName('OBSERVACOES').AsMemo := MemoObservacoes.Lines.Text;
SqlDtSCadClientes.ExecSQL;
FrmPrincipal.ConexaoBd.Commit(Transacao);
except
on E : Exception do
begin
ShowMessage('Ocorreu um erro na tentativa de inclusão do registro: ' + E.Message);
FrmPrincipal.ConexaoBd.Rollback(Transacao);
end;
end
else
try
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD;
FrmPrincipal.ConexaoBd.StartTransaction(Transacao);
SqlDtSCadClientes.Close;
SqlDtSCadClientes.CommandType := ctQuery;
SqlDtSCadClientes.CommandText:='UPDATE CADCLIENTES SET ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'SITUACAO=:SITUACAO, DATACADASTRO=:DATACADASTRO, ULTIMAALTERACAO=:ULTIMAALTERACAO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'OPERADORCODIGO=:OPERADORCODIGO, OPERADORNOME=:OPERADORNOME, NOMERAZAO=:NOMERAZAO, FANTASIAAPELIDO=:FANTASIAAPELIDO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'CIDADECODIGO=:CIDADECODIGO, CIDADENOME=:CIDADENOME, ESTADO=:ESTADO, CEP=:CEP, ENDERECO=:ENDERECO, NUMERO=:NUMERO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'BAIRROCODIGO=:BAIRROCODIGO, BAIRRONOME=:BAIRRONOME, COMPLEMENTO=:COMPLEMENTO, RG=:RG, CNPJCPFCODIGO=:CNPJCPFCODIGO, CNPJCPF=:CNPJCPF, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'DATANASCIMENTO=:DATANASCIMENTO, INSCRICAOESTADUAL=:INSCRICAOESTADUAL, INSCRICAOMUNICIPALPRODUTOR=:INSCRICAOMUNICIPALPRODUTOR, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'EMAIL=:EMAIL, CONTATO=:CONTATO, TELEFONE1=:TELEFONE1, TELEFONE=:TELEFONE2, CELULAR=:CELULAR, OBSERVACOES=:OBSERVACOES ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'Where CODIGO=:CODIGO';
if f_operacao<>'I' then SqlDtSCadClientes.ParamByName('CODIGO').AsInteger := StrToInt(EdtCodigo.Text);
SqlDtSCadClientes.ParamByName('SITUACAO').AsString := EdtSituacao.Text;
SqlDtSCadClientes.ParamByName('DATACADASTRO').AsDate := StrToDate(MskDataCadastro.Text);
SqlDtSCadClientes.ParamByName('ULTIMAALTERACAO').AsDate:= StrToDate(MskUltimaAlteracao.Text);
SqlDtSCadClientes.ParamByName('OPERADORCODIGO').AsInteger := StrToInt(EdtOperadorCodigo.Text);
SqlDtSCadClientes.ParamByName('OPERADORNOME').AsString := EdtOperadorNome.Text;
SqlDtSCadClientes.ParamByName('NOMERAZAO').AsString := EdtNomeRazao.Text;
SqlDtSCadClientes.ParamByName('FANTASIAAPELIDO').AsString := EdtFantasiaApelido.Text;
SqlDtSCadClientes.ParamByName('CIDADECODIGO').AsInteger := StrToInt(EdtCidadeCodigo.Text);
SqlDtSCadClientes.ParamByName('CIDADENOME').AsString := EdtCidadeNome.Text;
SqlDtSCadClientes.ParamByName('ESTADO').AsString := EdtEstado.Text;
SqlDtSCadClientes.ParamByName('CEP').AsString := MskCep.Text;
SqlDtSCadClientes.ParamByName('ENDERECO').AsString := EdtEndereco.Text;
SqlDtSCadClientes.ParamByName('NUMERO').AsString := EdtNumero.Text;
SqlDtSCadClientes.ParamByName('BAIRROCODIGO').AsInteger := StrToInt(EdtBairroCodigo.Text);
SqlDtSCadClientes.ParamByName('BAIRRONOME').AsString := EdtBairroNome.Text;
SqlDtSCadClientes.ParamByName('COMPLEMENTO').AsString := EdtComplemento.Text;
SqlDtSCadClientes.ParamByName('RG').AsString := EdtRg.Text;
SqlDtSCadClientes.ParamByName('CNPJCPFCODIGO').AsInteger := StrToInt(EdtCnpjCpfCodigo.Text);
SqlDtSCadClientes.ParamByName('CNPJCPF').AsString := MskCnpjCpf.Text;
SqlDtSCadClientes.ParamByName('DATANASCIMENTO').AsDate := StrToDate(MskDataNascimento.Text);
SqlDtSCadClientes.ParamByName('INSCRICAOESTADUAL').AsString := EdtInscricaoEstadual.Text;
SqlDtSCadClientes.ParamByName('INSCRICAOMUNICIPALPRODUTOR').AsString := EdtInscricaoMunicipalProdutor.Text;
SqlDtSCadClientes.ParamByName('EMAIL').AsString := EdtEmail.Text;
SqlDtSCadClientes.ParamByName('CONTATO').AsString := EdtContato.Text;
SqlDtSCadClientes.ParamByName('TELEFONE1').AsString := MskTelefone1.Text;
SqlDtSCadClientes.ParamByName('TELEFONE2').AsString := MskTelefone2.Text;
SqlDtSCadClientes.ParamByName('CELULAR').AsString := MskCelular.Text;
SqlDtSCadClientes.ParamByName('OBSERVACOES').AsMemo := MemoObservacoes.Lines.Text;
SqlDtSCadClientes.ExecSQL;
FrmPrincipal.ConexaoBd.Commit(Transacao);
except
on E : Exception do
begin
ShowMessage('Ocorreu um erro na tentativa de inclusão do registro: ' + E.Message);
FrmPrincipal.ConexaoBd.Rollback(Transacao);
end;
end;Bruno Henrique
Curtir tópico
+ 0Post mais votado
20/08/2015
Sim, o SQLDataSet1.State funciona!
Mas olha só, eu notei que seu SQLDataSet1 não entra em modo de INSERT ou EDIT em nenhum momento, pq vc faz um cadastro via codigo... então vai ter q mudar isso...
Cria uma variável global para receber esse STATUS, pode ser do tipo STRING se vc quiser... aí vc faz o seguinte:
Exemplo: var xSTATUS: String;
No botão EDITAR, vc coloca: xStatus:= 'E';
No botão NOVO vc coloca: xStatus:= 'N';
Aí vc faz aquilo q te falei anteriormente no botão SALVAR
if xStatus = 'N' then // Se estiver em modo de INSERT
begin
// AQUI FICA SEU TODO SEU CÓDIGO DE INSERT
end;
if xStatus = 'E' then // Se estiver em modo de EDIÇÃO
begin
// AQUI FICA TODO SEU CÓDIGO DE SALVAR UMA EDIÇÃO, exemplo:
UPDATE CADCLIENTES SET CODIGO = 1, SITUACAO = 'NAO', DATACADASTRO = '20/08/2015', ULTIMAALTERACAO = '19/08/2015' .......
end;
Isso foi só um exemplo, adapta aí da maneira q vc achar melhor ^^
Mateus Ribeiro
Gostei + 1
Mais Posts
19/08/2015
Bruno Henrique
Tenho um form de um cadastro com 7 botões(Incluir/Gravar/Alterar/Cancelar/Excluir/Pesquisar/Sair).Quando é um novo registro eu consigo gravar normal, mas se for uma alteração eu não consigo gravar, quero fazer assim, se for um novo registro faz um insert se for uma alteração faz um update mais não estou conseguindo, fazer a parte do update, da erro já pesquisei e não achei solução!!!
[img:descricao=Form de Cadastro]http://arquivo.devmedia.com.br/forum/imagem/316964-20150819-213803.jpg[/img]
[img:descricao=Mensagem do Erro]http://arquivo.devmedia.com.br/forum/imagem/316964-20150819-213952.jpg[/img]
Código do botão gravar
procedure TFrmCadClientes.BtnGravarClick(Sender: TObject);
begin
f_operacao:='I';
if f_operacao='I' then
try
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD;
FrmPrincipal.ConexaoBd.StartTransaction(Transacao);
SqlDtSCadClientes.Close;
SqlDtSCadClientes.CommandType := ctQuery;
SqlDtSCadClientes.CommandText:='insert into CADCLIENTES(CODIGO, SITUACAO, DATACADASTRO, ULTIMAALTERACAO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'OPERADORCODIGO, OPERADORNOME, NOMERAZAO, FANTASIAAPELIDO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'CIDADECODIGO, CIDADENOME, ESTADO, CEP, ENDERECO, NUMERO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'BAIRROCODIGO, BAIRRONOME, COMPLEMENTO, RG, CNPJCPFCODIGO, CNPJCPF, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'DATANASCIMENTO, INSCRICAOESTADUAL, INSCRICAOMUNICIPALPRODUTOR, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'EMAIL, CONTATO, TELEFONE1, TELEFONE2, CELULAR, OBSERVACOES)';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'values(:CODIGO, :SITUACAO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':DATACADASTRO, :ULTIMAALTERACAO, :OPERADORCODIGO, :OPERADORNOME, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':NOMERAZAO, :FANTASIAAPELIDO, :CIDADECODIGO, :CIDADENOME, :ESTADO, :CEP, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':ENDERECO, :NUMERO, :BAIRROCODIGO, :BAIRRONOME, :COMPLEMENTO, :RG, :CNPJCPFCODIGO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':CNPJCPF, :DATANASCIMENTO, :INSCRICAOESTADUAL, :INSCRICAOMUNICIPALPRODUTOR, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':EMAIL, :CONTATO, :TELEFONE1, :TELEFONE2, :CELULAR, :OBSERVACOES)';
SqlDtSCadClientes.ParamByName('CODIGO').AsInteger := StrToInt(EdtCodigo.Text);
SqlDtSCadClientes.ParamByName('SITUACAO').AsString := EdtSituacao.Text;
SqlDtSCadClientes.ParamByName('DATACADASTRO').AsDate := StrToDate(MskDataCadastro.Text);
SqlDtSCadClientes.ParamByName('ULTIMAALTERACAO').AsDate:= StrToDate(MskUltimaAlteracao.Text);
SqlDtSCadClientes.ParamByName('OPERADORCODIGO').AsInteger := StrToInt(EdtOperadorCodigo.Text);
SqlDtSCadClientes.ParamByName('OPERADORNOME').AsString := EdtOperadorNome.Text;
SqlDtSCadClientes.ParamByName('NOMERAZAO').AsString := EdtNomeRazao.Text;
SqlDtSCadClientes.ParamByName('FANTASIAAPELIDO').AsString := EdtFantasiaApelido.Text;
SqlDtSCadClientes.ParamByName('CIDADECODIGO').AsInteger := StrToInt(EdtCidadeCodigo.Text);
SqlDtSCadClientes.ParamByName('CIDADENOME').AsString := EdtCidadeNome.Text;
SqlDtSCadClientes.ParamByName('ESTADO').AsString := EdtEstado.Text;
SqlDtSCadClientes.ParamByName('CEP').AsString := MskCep.Text;
SqlDtSCadClientes.ParamByName('ENDERECO').AsString := EdtEndereco.Text;
SqlDtSCadClientes.ParamByName('NUMERO').AsString := EdtNumero.Text;
SqlDtSCadClientes.ParamByName('BAIRROCODIGO').AsInteger := StrToInt(EdtBairroCodigo.Text);
SqlDtSCadClientes.ParamByName('BAIRRONOME').AsString := EdtBairroNome.Text;
SqlDtSCadClientes.ParamByName('COMPLEMENTO').AsString := EdtComplemento.Text;
SqlDtSCadClientes.ParamByName('RG').AsString := EdtRg.Text;
SqlDtSCadClientes.ParamByName('CNPJCPFCODIGO').AsInteger := StrToInt(EdtCnpjCpfCodigo.Text);
SqlDtSCadClientes.ParamByName('CNPJCPF').AsString := MskCnpjCpf.Text;
SqlDtSCadClientes.ParamByName('DATANASCIMENTO').AsDate := StrToDate(MskDataNascimento.Text);
SqlDtSCadClientes.ParamByName('INSCRICAOESTADUAL').AsString := EdtInscricaoEstadual.Text;
SqlDtSCadClientes.ParamByName('INSCRICAOMUNICIPALPRODUTOR').AsString := EdtInscricaoMunicipalProdutor.Text;
SqlDtSCadClientes.ParamByName('EMAIL').AsString := EdtEmail.Text;
SqlDtSCadClientes.ParamByName('CONTATO').AsString := EdtContato.Text;
SqlDtSCadClientes.ParamByName('TELEFONE1').AsString := MskTelefone1.Text;
SqlDtSCadClientes.ParamByName('TELEFONE2').AsString := MskTelefone2.Text;
SqlDtSCadClientes.ParamByName('CELULAR').AsString := MskCelular.Text;
SqlDtSCadClientes.ParamByName('OBSERVACOES').AsMemo := MemoObservacoes.Lines.Text;
SqlDtSCadClientes.ExecSQL;
FrmPrincipal.ConexaoBd.Commit(Transacao);
except
on E : Exception do
begin
ShowMessage('Ocorreu um erro na tentativa de inclusão do registro: ' + E.Message);
FrmPrincipal.ConexaoBd.Rollback(Transacao);
end;
end
else
try
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD;
FrmPrincipal.ConexaoBd.StartTransaction(Transacao);
SqlDtSCadClientes.Close;
SqlDtSCadClientes.CommandType := ctQuery;
SqlDtSCadClientes.CommandText:='UPDATE CADCLIENTES SET ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'SITUACAO=:SITUACAO, DATACADASTRO=:DATACADASTRO, ULTIMAALTERACAO=:ULTIMAALTERACAO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'OPERADORCODIGO=:OPERADORCODIGO, OPERADORNOME=:OPERADORNOME, NOMERAZAO=:NOMERAZAO, FANTASIAAPELIDO=:FANTASIAAPELIDO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'CIDADECODIGO=:CIDADECODIGO, CIDADENOME=:CIDADENOME, ESTADO=:ESTADO, CEP=:CEP, ENDERECO=:ENDERECO, NUMERO=:NUMERO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'BAIRROCODIGO=:BAIRROCODIGO, BAIRRONOME=:BAIRRONOME, COMPLEMENTO=:COMPLEMENTO, RG=:RG, CNPJCPFCODIGO=:CNPJCPFCODIGO, CNPJCPF=:CNPJCPF, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'DATANASCIMENTO=:DATANASCIMENTO, INSCRICAOESTADUAL=:INSCRICAOESTADUAL, INSCRICAOMUNICIPALPRODUTOR=:INSCRICAOMUNICIPALPRODUTOR, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'EMAIL=:EMAIL, CONTATO=:CONTATO, TELEFONE1=:TELEFONE1, TELEFONE=:TELEFONE2, CELULAR=:CELULAR, OBSERVACOES=:OBSERVACOES ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'Where CODIGO=:CODIGO';
if f_operacao<>'I' then SqlDtSCadClientes.ParamByName('CODIGO').AsInteger := StrToInt(EdtCodigo.Text);
SqlDtSCadClientes.ParamByName('SITUACAO').AsString := EdtSituacao.Text;
SqlDtSCadClientes.ParamByName('DATACADASTRO').AsDate := StrToDate(MskDataCadastro.Text);
SqlDtSCadClientes.ParamByName('ULTIMAALTERACAO').AsDate:= StrToDate(MskUltimaAlteracao.Text);
SqlDtSCadClientes.ParamByName('OPERADORCODIGO').AsInteger := StrToInt(EdtOperadorCodigo.Text);
SqlDtSCadClientes.ParamByName('OPERADORNOME').AsString := EdtOperadorNome.Text;
SqlDtSCadClientes.ParamByName('NOMERAZAO').AsString := EdtNomeRazao.Text;
SqlDtSCadClientes.ParamByName('FANTASIAAPELIDO').AsString := EdtFantasiaApelido.Text;
SqlDtSCadClientes.ParamByName('CIDADECODIGO').AsInteger := StrToInt(EdtCidadeCodigo.Text);
SqlDtSCadClientes.ParamByName('CIDADENOME').AsString := EdtCidadeNome.Text;
SqlDtSCadClientes.ParamByName('ESTADO').AsString := EdtEstado.Text;
SqlDtSCadClientes.ParamByName('CEP').AsString := MskCep.Text;
SqlDtSCadClientes.ParamByName('ENDERECO').AsString := EdtEndereco.Text;
SqlDtSCadClientes.ParamByName('NUMERO').AsString := EdtNumero.Text;
SqlDtSCadClientes.ParamByName('BAIRROCODIGO').AsInteger := StrToInt(EdtBairroCodigo.Text);
SqlDtSCadClientes.ParamByName('BAIRRONOME').AsString := EdtBairroNome.Text;
SqlDtSCadClientes.ParamByName('COMPLEMENTO').AsString := EdtComplemento.Text;
SqlDtSCadClientes.ParamByName('RG').AsString := EdtRg.Text;
SqlDtSCadClientes.ParamByName('CNPJCPFCODIGO').AsInteger := StrToInt(EdtCnpjCpfCodigo.Text);
SqlDtSCadClientes.ParamByName('CNPJCPF').AsString := MskCnpjCpf.Text;
SqlDtSCadClientes.ParamByName('DATANASCIMENTO').AsDate := StrToDate(MskDataNascimento.Text);
SqlDtSCadClientes.ParamByName('INSCRICAOESTADUAL').AsString := EdtInscricaoEstadual.Text;
SqlDtSCadClientes.ParamByName('INSCRICAOMUNICIPALPRODUTOR').AsString := EdtInscricaoMunicipalProdutor.Text;
SqlDtSCadClientes.ParamByName('EMAIL').AsString := EdtEmail.Text;
SqlDtSCadClientes.ParamByName('CONTATO').AsString := EdtContato.Text;
SqlDtSCadClientes.ParamByName('TELEFONE1').AsString := MskTelefone1.Text;
SqlDtSCadClientes.ParamByName('TELEFONE2').AsString := MskTelefone2.Text;
SqlDtSCadClientes.ParamByName('CELULAR').AsString := MskCelular.Text;
SqlDtSCadClientes.ParamByName('OBSERVACOES').AsMemo := MemoObservacoes.Lines.Text;
SqlDtSCadClientes.ExecSQL;
FrmPrincipal.ConexaoBd.Commit(Transacao);
except
on E : Exception do
begin
ShowMessage('Ocorreu um erro na tentativa de inclusão do registro: ' + E.Message);
FrmPrincipal.ConexaoBd.Rollback(Transacao);
end;
end;Gostei + 0
20/08/2015
Bruno Henrique
Gostei + 0
20/08/2015
Mateus Ribeiro
No seu botão de SALVAR, faça uma verificação de qual modo seu ClientDataSet está: Em modo de INSERT ou EDIT.
Basicamente é isso:
if ClientDataSet.State in [dsInsert] then // Se estiver em modo de INSERT
begin
// AQUI FICA SEU TODO SEU CÓDIGO DE INSERT
end;
if ClientDataSet.State in [dsEdit] then // Se estiver em modo de EDIÇÃO
begin
// AQUI FICA TODO SEU CÓDIGO DE SALVAR UMA EDIÇÃO, exemplo:
UPDATE CADCLIENTES SET CODIGO = 1, SITUACAO = 'NAO', DATACADASTRO = '20/08/2015', ULTIMAALTERACAO = '19/08/2015' .......
end;
Espero que ajude, boa sorte!
Gostei + 0
20/08/2015
Bruno Henrique
Obrigado pela ajuda!!!
Ainda tenho dúvidas!!!
O meu é um SqlDataSet da paleta dbexpress, e não um clientdataset, mesmo assim dá certo????
Grato
Gostei + 0
21/08/2015
Bruno Henrique
Funcionou certinho!!! Muito Obrigado!!!
Agora estou com outro probleminha os dados não atualiza no dbgrid, apenas quando eu saio do sistema(quando eu cito saio do sistema é fechar tudo mesmo e voltar para o codigo) e abro novamente, ai sim ele atualiza, como eu faço para atualizar em tempo de execução!!!
Já tentei.
sqldataset.Close; sqldataset.Open;
clientedataset.active := True; clientedataset.Close; clientedataset.Open;
sqldataset.refresh;
Não sei mesmo como fazer!!!
Gostei + 0
24/08/2015
Bruno Henrique
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)