Fórum Ajuda em fazer um Update! #350288
07/12/2007
0
Preciso salvar um campo de Observação que é da tabela de Praticas fazendo isso no form dos Alunos, então fiz assim, eu vizualizo as aulas marcadas dos alunos e tipo assim eu escolho a linha lá dá data e horario dá aula do aluno para colocar a Observação, clicando nessa linha eu mostro os seguinte campo nos edits, o campo do codigo do instrutor, categoria, data e horario da aula, ai escrevo a observação em um memo que coloquei, e salva em um outro botão só para isso, mas primeiro ele salvou em todas as aulas daquele aluno a observação e segundo ele trocou todos os horários pelo um mesmo dia do aluno, esse é o que eu fiz, preciso de ajuda de alguém....! :roll:
qui eu fiz um up para cada campo, mas acho que fiz errado
procedure Tfrmalunos.SpbSalvaClick(Sender: TObject); begin If (QryPratica.RecordCount > 0) then Begin with DtmIza.QryUpMemo do Begin Close; SQL.Clear; SQL.Add (´Update Praticas´); SQL.ADD (´Set Observacao = ´ + QuotedStr(MemoObs.text)); SQL.Add (´where aluno = ´+txtmat.Text); ExecSQL; Transaction.Commit; Select; end; end; If (QryPratica.RecordCount > 0) then Begin with DtmIza.QryUpIns do Begin Close; SQL.Clear; SQL.Add (´Update Praticas´); SQL.ADD (´Set Instrutor = ´ + QuotedStr(TxtIns.text)); SQL.Add (´where aluno = ´ + txtmat.text); ExecSQL; Transaction.Commit; Select; end; end; If (QryPratica.RecordCount > 0) then Begin with DtmIza.QryUpCat do Begin Close; SQL.Clear; SQL.Add (´Update Praticas´); SQL.ADD (´Set Categoria = ´ + QuotedStr(TxtCateg.text)); SQL.Add (´where aluno = ´ + txtmat.text); ExecSQL; Transaction.Commit; Select; end; end; If (QryPratica.RecordCount > 0) then Begin with DtmIza.QryUpHora do Begin Close; SQL.Clear; SQL.Add (´Update Praticas´); SQL.ADD (´Set Horario = ´+(QuotedStr(FormatDateTime(´hh:nn´,(StrToDate(TxtHor.Text) ) ))) ); SQL.Add (´where aluno = ´ + txtmat.text); ExecSQL; Transaction.Commit; Select; end; end; If (QryPratica.RecordCount > 0) then Begin with DtmIza.QryUpData do Begin Close; SQL.Clear; SQL.Add(´UPDATE Praticas´); SQL.Add(´SET Data = ´+(QuotedStr(FormatDateTime(´dd.mm.yyyy´,(StrToDate(TxtData.Text) ) ))) ); SQL.Add(´WHERE aluno = ´+txtmat.Text); ExecSQL; Transaction.Commit; Select; end; end;
Robinhocne
Curtir tópico
+ 0Posts
08/12/2007
Sistemald
deixa vê se eu entendi você tem uma tabela [b:351deae04f]Praticas[/b:351deae04f]
com os campos [b:351deae04f]Observacao, instrutor, categoria, horario[/b:351deae04f]
e você fez três SQL para atualizar o registro, se for isso você pode fazer
with DtmIza.QryUpData do Begin Close; SQL.Clear; SQL.Add(´UPDATE Praticas´); SQL.Add(´SET Data = :observacao, ); <repare a virgula SQL.Add(´SET Data = :instrutor, ); SQL.Add(´SET Data = :horario); SQL.Add(´WHERE aluno = :matricula´); //veja que coloquei :observacao pois será um paramtro da sql param[0].asstring:= MemoObs.text; param[1].asstring:= TxtIns.text; param[2].asdatetime:= TxtHor.text; param[3].asstring:= txtmat.txt; ExecSQL; Transaction.Commit;
Deste jeito você fara um update no registro ja existente.
Gostei + 0
08/12/2007
Sistemald
ith DtmIza.QryUpData do Begin Close; SQL.Clear; SQL.Add(´UPDATE Praticas SET´); SQL.Add(´Data = :observacao, ); <repare a virgula SQL.Add(´Data = :instrutor, ); SQL.Add(´Data = :horario); SQL.Add(´WHERE aluno = :matricula´); //veja que coloquei :observacao pois será um paramtro da sql param[0].asstring:= MemoObs.text; param[1].asstring:= TxtIns.text; param[2].asdatetime:= TxtHor.text; param[3].asstring:= txtmat.txt; ExecSQL; Transaction.Commit; end
reparei que tirei o monte de ´set´
Gostei + 0
11/12/2007
Robinhocne
Gostei + 0
11/12/2007
Edilcimar
Será que não está faltando um AND?
Gostei + 0
11/12/2007
Robinhocne
Na tabela de [b:e34360b432]Praticas[/b:e34360b432] tenho os seguintes campos:
[b:e34360b432]
Aluno
Instrutor
Categoria
Data
Horario
Observacao
[/b:e34360b432]
Então eu preciso salvar o campo da observacao que é varchar, a data e horario são campos que já estão gravados, tipo assim: eu quero deixar uma observação para o instrutor amanhã nbo caso 12/12/2007 do horário das 15:00 hs, ai eu seleciono pelo o grid esses horários que são também vizualizados automaticamento no edit data e edit horario, e ai eu digito a observação que quero e gravo!
Gostei + 0
11/12/2007
Sistemald
ith DtmIza.QryUpData do Begin Close; SQL.Clear; SQL.Add(´UPDATE Praticas SET´); SQL.Add(´Data = :observacao, ); <repare a virgula SQL.Add(´Instrutor= :instrutor, ); SQL.Add(´horario = :horario); SQL.Add(´WHERE aluno = :matricula´); //veja que coloquei :observacao pois será um paramtro da sql param[0].asstring:= MemoObs.text; param[1].asstring:= TxtIns.text; param[2].asdatetime:= TxtHor.text; param[3].asstring:= txtmat.txt; ExecSQL; Transaction.Commit; end
Gostei + 0
11/12/2007
Robinhocne
If (QryPratica.RecordCount > 0) then Begin with DtmIza.QryUpPraticas do Begin Close; SQL.Clear; SQL.Add (´Update Praticas´); SQL.ADD (´Set Observacao = ´ + QuotedStr(MemoObs.text)); SQL.Add (´where aluno = ´+ QuotedStr(txtmat.Text) + ´ and Data = ´+ QuotedStr(FormatDateTime(´dd.mm.yyyy´,(StrToDate(TxtData.Text) ) ) ) + ´ and Horario = ´ + QuotedStr(TxtHor.Text) ); ExecSQL; Transaction.Commit; Select; end; end; MemoObs.Text := ´´;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)