NÃO CONSIGO SALVAR NA TABELA
BOTÃO INSERIR
procedure TFcaixa.BitBtn2Click(Sender: TObject);
begin
Contdados.Clientdscaixa.close;
Contdados.Clientdscaixa.Open;
contdados.Clientdscaixa.Edit;
edit1.Text:=Contdados.Clientdscaixa.FieldByName('idcaixa').AsString;
edit2.Text:=Contdados.Clientdscaixa.FieldByName('datacaixa').AsString;
edit3.Text:=Contdados.Clientdscaixa.FieldByName('totalent').AsString;
edit4.Text:=Contdados.Clientdscaixa.FieldByName('totalsaida').AsString;
edit5.Text:=Contdados.Clientdscaixa.FieldByName('saldoinicial').AsString;
edit6.Text:=Contdados.Clientdscaixa.FieldByName('saldofinal').AsString;
edit1.SetFocus;
end;
BOTAO SALVAR
contdados.Clientdscaixa.Close;
contdados.Clientdscaixa.open;
if CheckBox1.Checked then
Contdados.Clientdscaixa.FieldByName('statuscaixa').AsString:='true';
Contdados.Clientdscaixa.FieldByName('statuscaixa').AsString:='';
Contdados.Clientdscaixa.FieldByName('statuscaixa').Clear;
contdados.Clientdscaixa.Post;
showmessage('Caixa Aberto');
alguem pode me ajudar?
procedure TFcaixa.BitBtn2Click(Sender: TObject);
begin
Contdados.Clientdscaixa.close;
Contdados.Clientdscaixa.Open;
contdados.Clientdscaixa.Edit;
edit1.Text:=Contdados.Clientdscaixa.FieldByName('idcaixa').AsString;
edit2.Text:=Contdados.Clientdscaixa.FieldByName('datacaixa').AsString;
edit3.Text:=Contdados.Clientdscaixa.FieldByName('totalent').AsString;
edit4.Text:=Contdados.Clientdscaixa.FieldByName('totalsaida').AsString;
edit5.Text:=Contdados.Clientdscaixa.FieldByName('saldoinicial').AsString;
edit6.Text:=Contdados.Clientdscaixa.FieldByName('saldofinal').AsString;
edit1.SetFocus;
end;
BOTAO SALVAR
contdados.Clientdscaixa.Close;
contdados.Clientdscaixa.open;
if CheckBox1.Checked then
Contdados.Clientdscaixa.FieldByName('statuscaixa').AsString:='true';
Contdados.Clientdscaixa.FieldByName('statuscaixa').AsString:='';
Contdados.Clientdscaixa.FieldByName('statuscaixa').Clear;
contdados.Clientdscaixa.Post;
showmessage('Caixa Aberto');
alguem pode me ajudar?
Jander Sales
Curtidas 0
Melhor post
Renato Rubinho
26/02/2015
Buenos,
Neste trecho você marca como True quando o CheckBox1 estiver marcado, mas após isso o "clear" altera o valor para nulo.
Neste trecho você marca como True quando o CheckBox1 estiver marcado, mas após isso o "clear" altera o valor para nulo.
if CheckBox1.Checked then
Contdados.Clientdscaixa.FieldByName('statuscaixa').AsBoolean:=true;
Contdados.Clientdscaixa.FieldByName('statuscaixa').Clear; // remova essa linha.
GOSTEI 1
Mais Respostas
Randrade
25/02/2015
Qual a mensagem de erro?
GOSTEI 0
Jander Sales
25/02/2015
clientdataset: dataset not in edit or insert mode.
E quando coloco ela em edição
field ' ' must have a value
E quando coloco ela em edição
field ' ' must have a value
GOSTEI 0
Jander Sales
25/02/2015
consegui consertar os erros mais não altero nenhum registro na tabela
contdados.Clientdscaixa.Close;
contdados.Clientdscaixa.open;
contdados.Clientdscaixa.Insert;
contdados.Clientdscaixa.FieldByName('idcaixa').AsString:=Edit1.Text;
Contdados.Clientdscaixa.FieldByName('datacaixa').AsString:=Edit2.Text;
Contdados.Clientdscaixa.FieldByName('totalent').AsString:=Edit3.Text;
Contdados.Clientdscaixa.FieldByName('totalsaida').AsString:=Edit4.Text;
Contdados.Clientdscaixa.FieldByName('saldoinicial').AsString:=Edit5.Text;
Contdados.Clientdscaixa.FieldByName('saldofinal').AsString:=Edit6.Text;
contdados.Clientdscaixa.FieldByName('statuscaixa').AsBoolean:=CheckBox1.Checked=true;
contdados.Clientdscaixa.Post;
if contdados.Clientdscaixa.FieldByName('statuscaixa').AsBoolean=true then
showmessage('Caixa Aberto');
contdados.Clientdscaixa.Close;
contdados.Clientdscaixa.open;
contdados.Clientdscaixa.Insert;
contdados.Clientdscaixa.FieldByName('idcaixa').AsString:=Edit1.Text;
Contdados.Clientdscaixa.FieldByName('datacaixa').AsString:=Edit2.Text;
Contdados.Clientdscaixa.FieldByName('totalent').AsString:=Edit3.Text;
Contdados.Clientdscaixa.FieldByName('totalsaida').AsString:=Edit4.Text;
Contdados.Clientdscaixa.FieldByName('saldoinicial').AsString:=Edit5.Text;
Contdados.Clientdscaixa.FieldByName('saldofinal').AsString:=Edit6.Text;
contdados.Clientdscaixa.FieldByName('statuscaixa').AsBoolean:=CheckBox1.Checked=true;
contdados.Clientdscaixa.Post;
if contdados.Clientdscaixa.FieldByName('statuscaixa').AsBoolean=true then
showmessage('Caixa Aberto');
GOSTEI 0
Jander Sales
25/02/2015
contdados.Clientdscaixa.Close;
contdados.Clientdscaixa.open;
contdados.Clientdscaixa.Insert;
contdados.Clientdscaixa.FieldByName('idcaixa').AsString:=Edit1.Text;
Contdados.Clientdscaixa.FieldByName('datacaixa').AsString:=Edit2.Text;
Contdados.Clientdscaixa.FieldByName('totalent').AsString:=Edit3.Text;
Contdados.Clientdscaixa.FieldByName('totalsaida').AsString:=Edit4.Text;
Contdados.Clientdscaixa.FieldByName('saldoinicial').AsString:=Edit5.Text;
Contdados.Clientdscaixa.FieldByName('saldofinal').AsString:=Edit6.Text;
contdados.Clientdscaixa.FieldByName('statuscaixa').AsBoolean:=CheckBox1.Checked=true;
if CheckBox1.Checked then
Contdados.Clientdscaixa.FieldByName('statuscaixa').AsBoolean:=true;
Contdados.Clientdscaixa.FieldByName('statuscaixa').Clear;
contdados.Clientdscaixa.Post;
showmessage('Caixa Aberto');
erro field statuscaixa must have value.
contdados.Clientdscaixa.open;
contdados.Clientdscaixa.Insert;
contdados.Clientdscaixa.FieldByName('idcaixa').AsString:=Edit1.Text;
Contdados.Clientdscaixa.FieldByName('datacaixa').AsString:=Edit2.Text;
Contdados.Clientdscaixa.FieldByName('totalent').AsString:=Edit3.Text;
Contdados.Clientdscaixa.FieldByName('totalsaida').AsString:=Edit4.Text;
Contdados.Clientdscaixa.FieldByName('saldoinicial').AsString:=Edit5.Text;
Contdados.Clientdscaixa.FieldByName('saldofinal').AsString:=Edit6.Text;
contdados.Clientdscaixa.FieldByName('statuscaixa').AsBoolean:=CheckBox1.Checked=true;
if CheckBox1.Checked then
Contdados.Clientdscaixa.FieldByName('statuscaixa').AsBoolean:=true;
Contdados.Clientdscaixa.FieldByName('statuscaixa').Clear;
contdados.Clientdscaixa.Post;
showmessage('Caixa Aberto');
erro field statuscaixa must have value.
GOSTEI 0
Thiago Santana
25/02/2015
Além do POST você irá precisar do COMMIT.
GOSTEI 0
Jander Sales
25/02/2015
Como funciona o comando commit?
GOSTEI 0
Thiago Santana
25/02/2015
É um método existente do seu clientDataSet.
Dependendo pode ser Commit ou ApplyUpdates!
Dependendo pode ser Commit ou ApplyUpdates!
GOSTEI 1
Itamar Souza
25/02/2015
Jander
Você está desenvolvendo de uma forma que não é muito usada, você está deixando de lado o melhor que o Delphi lhe oferece.
O comando para inserir não é “contdados.Clientdscaixa.Edit;” é sim “Append”
Estas informações ficaria ao contrário:
Contdados.Clientdscaixa.FieldByName('idcaixa').AsString := edit1.Text;
Neste caso você está jogando o conteúdo do edit1 dentro do Clientdscaixa
Eu aconselho você buscar na internet uma forma melhor de desenvolver para que você possa evitar possíveis dores de cabeça. Pesquisa na internet “medeiros delphi” aprender a desenvolver de uma forma melhor é você vai entender com o tempo o porque você não deve fazer da forma que está fazendo.
att
Você está desenvolvendo de uma forma que não é muito usada, você está deixando de lado o melhor que o Delphi lhe oferece.
O comando para inserir não é “contdados.Clientdscaixa.Edit;” é sim “Append”
Estas informações ficaria ao contrário:
Contdados.Clientdscaixa.FieldByName('idcaixa').AsString := edit1.Text;
Neste caso você está jogando o conteúdo do edit1 dentro do Clientdscaixa
Eu aconselho você buscar na internet uma forma melhor de desenvolver para que você possa evitar possíveis dores de cabeça. Pesquisa na internet “medeiros delphi” aprender a desenvolver de uma forma melhor é você vai entender com o tempo o porque você não deve fazer da forma que está fazendo.
att
GOSTEI 0
Jander Sales
25/02/2015
rrubinho vlw tbm tirei a linha de codigo clear
Thiago Santana consegui usar o ApplyUpdates e funcionou!
vlw!
Thiago Santana consegui usar o ApplyUpdates e funcionou!
vlw!
GOSTEI 0
Jander Sales
25/02/2015
Itamar P Sousa mas:
Contdados.Clientdscaixa.FieldByName('idcaixa').AsString := edit1.Text;
não informando a tabela através do edit.
qual seria outra forma me dê um exemplo
vlw pela att!
Contdados.Clientdscaixa.FieldByName('idcaixa').AsString := edit1.Text;
não informando a tabela através do edit.
qual seria outra forma me dê um exemplo
vlw pela att!
GOSTEI 0
Jander Sales
25/02/2015
Itamar P Sousa mas:
Contdados.Clientdscaixa.FieldByName(''idcaixa'').AsString := edit1.Text;
não estou informando a tabela através do edit.
qual seria outra forma me dê um exemplo
vlw pela att!
Contdados.Clientdscaixa.FieldByName(''idcaixa'').AsString := edit1.Text;
não estou informando a tabela através do edit.
qual seria outra forma me dê um exemplo
vlw pela att!
GOSTEI 0
Thiago Santana
25/02/2015
rrubinho vlw tbm tirei a linha de codigo clear
Thiago Santana consegui usar o ApplyUpdates e funcionou!
vlw!
Thiago Santana consegui usar o ApplyUpdates e funcionou!
vlw!
Que bom poder ter ajudado Jander!
GOSTEI 0