Fórum ajuda com uma SQL #233381
20/05/2004
0
seguinte,
tenho uma Sql montada da seguinte forma:
With Query1 do begin Close; Sql.Clear; Sql.Add(´Insert into Tabela Values´); Sql.Add(´:Codigo,:Desc,:Data´); Parambyname(´Codigo´).Asinteger := StrToInt(Edit1.Text); Parambyname(´Desc´).AsString := Edit2.Text; Parambyname(´Data´).AsDate := StrToDate(Edit3.Text); //** ExecSql; end;
//** o que acontece é que se o usuário não informar a ´Data´ vai dar erro. Já tentei atribuir Null mas tb deu erro.
alguma sugestão
abraço
Diogo.
Diogoalles
Curtir tópico
+ 0Posts
20/05/2004
Diogoalles
se eu verificar que o Edit3 não foi preenchido eu informo Null ...que tb dá erro...
atualmente coloco 0;
só que aí a data fica com 31/12/1899
então fica assim o correto
... if Edit3.Text <> ´´ then Parambyname(´Data´).AsDate := StrToDate(Edit3.Text) else Parambyname(´Data´).AsDate := 0; /// aqui preciso colocar um valor em branco ...
Gostei + 0
20/05/2004
Macario
O campo está definido como dentro do Banco?
Por que voce nao ´força´ o usuário a informar uma data? Ou a mesma
não é obrigatoria:
Gostei + 0
20/05/2004
Diogoalles
não é obrigatório informar
Agradecido
Gostei + 0
20/05/2004
Adilsond
with Query1 do begin if Active then Close; Sql.Clear; Sql.Add(´Insert into Tabela´); if Trim(Edit3.Text) = ´´ then Sql.Add(´Values(´ + Edit1.Text + ´,´ + QuotedStr(Edit2.Text) + ´,null)´) else begin Sql.Add(´Values(´ + Edit1.Text + ´,´ + QuotedStr(Edit2.Text) + ´,:Data)´); Parambyname(´Data´).AsDate := StrToDate(Edit3.Text); end; ExecSql; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)