data em branco

Delphi

27/11/2006

Olá!!
Como faço para gravar uma data em branco no oracle??
Obrigada!


Daia

Daia

Curtidas 0

Respostas

Marco Salles

Marco Salles

27/11/2006

Olá!! Como faço para gravar uma data em branco no oracle?? Obrigada!


por acaso , o tfield que representa o campo tem alguma formatação ????


GOSTEI 0
Daia

Daia

27/11/2006

na tabela é do tipo date... estou usando esta função: QuotedStr(dateToOracle(mskDtCorte.Text)), mas como não estou informando data quero grave null... Mas não sei como fazer isso...
Obrigada.


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

27/11/2006

como você está passando essa data? via parâmetro numa instrução?


GOSTEI 0
Daia

Daia

27/11/2006

Estou fazendo um Insert
QuotedStr(dateToOracle(mskDtCorte.Text)), pegando a data de um MaskEdit (mskDtCorte)
É isso??


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

27/11/2006

ok... mas como?

- por concatenação
  instrucao = ´insert tabela (nome, end, data) values (´+edit1.text+´, ´+edi2.text+´, ´+dateToOracle(mskDtCorte.Text)+´)´

  mude para:
  instrucao = ´insert tabela (nome, end, data) values (´+edit1.text+´, ´+edi2.text+´<,valordata>)´
  if (mskDtCorte.Text = ´  /  /    ´) or (mskDtCorte.Text = ´´) then
  begin
    instrucao = stringreplace(instrucao,´,data´,´´,[rfReplaceAll]);
    instrucao = stringreplace(instrucao,´,valordata´,´´,[rfReplaceAll]);
  end
  else
    instrucao = stringreplace(instrucao,´,valordata´,datetoOracle(mskDtCorte.Text),[rfReplaceAll]);

  execute a instrucao

- por parametro
  instrucao = ´insert tabela (nome, end, data) values (:nome, :end, :data)´
  dataset.sql := instrucao;
  dataset.parambyname(´nome´).asstring := edit1.text;
  dataset.parambyname(´end´).asstring := edit2.text;
  if (mskDtCorte.Text = ´  /  /    ´) or (mskDtCorte.Text = ´´) then
    dataset.parambyname(´data´).value := null [b]ou[/b]
    dataset.parambyname(´data´).clear
  else
    dataset.parambyname(´data´).asdatetime := StrToDate(mskDtCorte.Text);

  ou simplesmente retire o parâmetro da instrução:
  instrucao = ´insert tabela (nome, end, data) values (:nome, :end, :data)´
  if (mskDtCorte.Text = ´  /  /    ´) or (mskDtCorte.Text = ´´) then
  begin
    instrucao :=  stringreplace(instrucao,´, :data´,´´,[rfReplaceAll]);
    instrucao :=  stringreplace(instrucao,´, data´,´´,[rfReplaceAll]);
  end;
  dataset.sql := instrucao;
  dataset.parambyname(´nome´).asstring := edit1.text;
  dataset.parambyname(´end´).asstring := edit2.text;
  if (mskDtCorte.Text <> ´  /  /    ´) and (mskDtCorte.Text <> ´´) then
    dataset.parambyname(´data´).asdatetime := StrToDate(mskDtCorte.Text);



GOSTEI 0
POSTAR