Fórum delete com sql #490978
01/09/2014
0
A tabela FREQUENCIA tem 31 campos (FREQUENCIA FREQUENCIA_FALTA1... FREQUENCIA FREQUENCIA_FALTA31) O código abaixo está excluindo todos os campos da tabela de acordo com o ano e mês, mas preciso que só exclua a coluna referente ao dia da data informada (FREQUENCIA FREQUENCIA_FALTA_' + inttostr(dia)) e não todos os 31 campos do referido mês.
procedure TFrmFrequencia.BtnExcluirClick(Sender: TObject);
Var
PegaData, RecebeData : string;
dia, mes, ano : Word;
sSQL : String;
begin
PegaData := FormatDateTime('yyyymm', Edt_DataFrequencia.Date);
DecodeDate(edt_datafrequencia.Date,ano,mes, dia);
with DmDados.IBQryFrequencia do
begin
Close;
sSQL := SQL.Text;
SQL.Clear;
SQl.Add('DELETE FROM FREQUENCIA FREQUENCIA_FALTA_' + inttostr(dia));
SQL.Add('where escola =:escola and codigo_Turma =:turma and codigo_disciplina =:disciplina and anomes =:data');
ParamByName('ESCOLA').AsInteger := DmDados.IBQryEscolaCODIGO.AsInteger;
ParamByName('turma').AsInteger := DmDados.IBQryTurmaCODIGO.AsInteger;
ParamByName('disciplina').AsInteger := DmDados.IBQryDisciplinaCODIGO.AsInteger;
ParamByName('data').AsString := PegaData;
ExecSQL;
DmDados.IBTransaction.CommitRetaining;
SQL.Text := sSQL;
end;
Osmar
Curtir tópico
+ 0Posts
01/09/2014
Joel Rodrigues
Gostei + 0
01/09/2014
Osmar
Gostei + 0
01/09/2014
Osmar
Obrigado pela dica, refiz o código e funcionou.
SQl.Add('UPDATE FREQUENCIA SET FREQUENCIA_FALTA_' + inttostr(dia) + ' = ' + quotedstr(''));
Valeu irmão.
Gostei + 0
01/09/2014
Joel Rodrigues
Abraço e bons códigos.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)