Fórum Problemas com campo data #339214

23/03/2007

0

E ai galera como q ta?
poh to tendo problemas com campo data no banco sql server
quando vo inserir um novo registro e se os campo data estiver
vazio da um erro dizendo
q o valor nao e valido(q vazio nao e data)
eu keria sabe como q eu faco pra nao aparecer essa mensagem de erro
pra q os campos data nao sejam obrigatorios

onrigado


Renatopeixoto

Renatopeixoto

Responder

Posts

23/03/2007

Nango Xus

Olá,

Você deve verificar primeiro se no seu banco, o campo data é obrigatorio. Se for tipo ´Not Null´ desmarque esta opção para que ele possa ficar em branco.

Flw


Responder

Gostei + 0

23/03/2007

Emej

Olá, tudo bem?
Veja bem, se a mensagem de erro for do banco de dados então este campo está como <not null> e sendo assim se faz necessário a inclusão de alguma informação.
Acho que se você mudar esta opção de <not null> para aceitar <null> deve resolver este seu problema.

É isso aí!

Amplexos.


Responder

Gostei + 0

26/03/2007

Renatopeixoto

[quote:dbb85f13df=´Nango xus´]Olá,

Você deve verificar primeiro se no seu banco, o campo data é obrigatorio. Se for tipo ´Not Null´ desmarque esta opção para que ele possa ficar em branco.

Flw[/quote:dbb85f13df]

poh eu ja verifiquei isso
no meu banco de dados ele ta em branco


Responder

Gostei + 0

26/03/2007

Marco Salles

quando vo inserir um novo registro e se os campo data estiver vazio da um erro dizendo


e como é que voce insere ????

No click de um Botão .... método post ??? Com esta esse método se for o caso ??

No Dbgrid ao mudar de uma linha ???


Responder

Gostei + 0

26/03/2007

Renatopeixoto

[quote:57e142168c=´Marco Salles´]
quando vo inserir um novo registro e se os campo data estiver vazio da um erro dizendo


e como é que voce insere ????

No click de um Botão .... método post ??? Com esta esse método se for o caso ??

No Dbgrid ao mudar de uma linha ???[/quote:57e142168c]

e no click do botao + por uma finçao q eu criei
e q na verdade isso tudo q eu to fazendo ou tentando e em
POO(Orientalao Objetoo) c vc kiser da uma olhada

minha funçao e essa

begin
Module.ADOCommand1.CommandText := ´INSERT INTO cliente (nome, telresidencia, email, cpf, dtnascimento, identidade, orgaoemissor, endereco, bairro, cidade, cep, uf, telcelular, empresa, profissao, teltrabalho, pagweb, dtcadastro) VALUES (:nomecliente, :telresidenciacliente, :emailcliente,´+
´:cpfcliente, :dtnascimentocliente, :identidadecliente,:orgaoemissorCliente, :enderecoCliente, :bairroCliente, :cidadecliente, :cepCliente, :ufCliente, :telcelularCliente, :empresaCliente,´+
´:profissaocliente, :teltrabalhocliente, :pagwebcliente, :dtcadastrocliente)´;

Module.ADOCommand1.Parameters.ParamByName(´nomecliente´).Value := nomeCliente;
Module.ADOCommand1.Parameters.ParamByName(´telresidenciacliente´).Value := telResidenciaCliente;
Module.ADOCommand1.Parameters.ParamByName(´emailcliente´).Value := emailCliente;
Module.ADOCommand1.Parameters.ParamByName(´cpfcliente´).Value := cpfcliente;
Module.ADOCommand1.Parameters.ParamByName(´dtnascimentocliente´).Value := dtnascimentocliente;
Module.ADOCommand1.Parameters.ParamByName(´dtcadastrocliente´).Value := dtcadastrocliente;
Module.ADOCommand1.Parameters.ParamByName(´identidadecliente´).Value := identidadecliente;
Module.ADOCommand1.Parameters.ParamByName(´orgaoemissorCliente´).Value := orgaoemissorCliente;
Module.ADOCommand1.Parameters.ParamByName(´enderecocliente´).Value := enderecoCliente;
Module.ADOCommand1.Parameters.ParamByName(´bairrocliente´).Value := bairroCliente;
Module.ADOCommand1.Parameters.ParamByName(´cidadecliente´).Value := cidadecliente;
Module.ADOCommand1.Parameters.ParamByName(´cepcliente´).Value := cepCliente;
Module.ADOCommand1.Parameters.ParamByName(´ufcliente´).Value := ufCliente;
Module.ADOCommand1.Parameters.ParamByName(´telcelularcliente´).Value := telcelularCliente;
Module.ADOCommand1.Parameters.ParamByName(´empresaCliente´).Value := empresaCliente;
Module.ADOCommand1.Parameters.ParamByName(´profissaocliente´).Value := profissaocliente;
Module.ADOCommand1.Parameters.ParamByName(´teltrabalhocliente´).Value := teltrabalhocliente;
Module.ADOCommand1.Parameters.ParamByName(´pagwebcliente´).Value := pagwebcliente;
Module.ADOCommand1.Parameters.ParamByName(´dtcadastrocliente´).Value := dtcadastrocliente;
Module.ADOCommand1.Execute;
Result := ´O cliente ´ + nomeCliente + ´ foi incluído´;

end;

e no botao e essa rotina

begin
try
passaParametros;

ShowMessage(oCliente.inserirCliente);
Except
on E : Exception do
ShowMessage(E.ClassName+´ error raised, with message : ´+E.Message);
end;
Module.ADOTable1.Close;
Module.ADOTable1.Open;
Module.ADOQuery1.Close;
Module.ADOQuery1.Open;
end;

c vc kiser eu mando o codigo pra vc por email


Responder

Gostei + 0

26/03/2007

Marco Salles

e como voce chama esse método ???

Por exemplo , as variaveis que alimentam os paramentros :
nomeCliente , telResidenciaCliente , emailcliente ,
telResidenciaCliente , ..., [u:a39b534eb6][b:a39b534eb6]dtcadastrocliente[/b:a39b534eb6][/u:a39b534eb6] , etc... devem vir de algum lugar certo ????

e outra , voce ja pensou o que esta instrução faz

Module.ADOCommand1.Parameters.ParamByName(´dtcadastrocliente´).Value := [b:a39b534eb6]dtcadastrocliente[/b:a39b534eb6];


quando [b:a39b534eb6][u:a39b534eb6]dtcadastrocliente[/u:a39b534eb6][/b:a39b534eb6] for um vazio ????

eu acho que vai dar erro...


Responder

Gostei + 0

26/03/2007

Renatopeixoto

ISSO msm da erro
como q eu faço pra nao acontecer +
esse erro
?


Responder

Gostei + 0

26/03/2007

Marco Salles

eu acho que assim deve resolver :

as variaveis que alimentam os parametros Do Tipo Data , voce passa tudo em
[b:50dd9073c8] formato String[/b:50dd9073c8]


var
dtcadastrocliente :String;

Assim na Hora de chamar voce pode deixar este valor com vazio

e na hora de receber voce muda de

Module.ADOCommand1.Parameters.ParamByName(´dtcadastrocliente´).[b:50dd9073c8]Value[/b:50dd9073c8] := dtcadastrocliente; para Module.ADOCommand1.Parameters.ParamByName(´dtcadastrocliente´).[b:50dd9073c8]asstring [/b:50dd9073c8]:= dtcadastrocliente;


para todos os campos Datas que achar conveniente...


Responder

Gostei + 0

27/03/2007

Renatopeixoto

var
dtcadastrocliente :String;

Assim na Hora de chamar voce pode deixar este valor com vazio

e na hora de receber voce muda de

Module.ADOCommand1.Parameters.ParamByName(´dtcadastrocliente´).[b:fc85751c25]Value[/b:fc85751c25] := dtcadastrocliente; para Module.ADOCommand1.Parameters.ParamByName(´dtcadastrocliente´).[b:fc85751c25]asstring [/b:fc85751c25]:= dtcadastrocliente;


poh deu o segunte erro

´O aplicativo está usando um valor incorreto para operaçao atual.´

[/code][/list]


Responder

Gostei + 0

27/03/2007

Marco Salles

´O aplicativo está usando um valor incorreto para operaçao atual.´


deve ser porque voce esta denominando o[u:956c76d429] parametro [/u:956c76d429]com o mesmo [b:956c76d429]nome[/b:956c76d429] da variavel .. . isto pode estar confundindo o compilador eu acho..

Veja :

Module.ADOCommand1.Parameters.ParamByName(´[b:956c76d429]dtcadastrocliente[/b:956c76d429]´).Value := [b:956c76d429]dtcadastrocliente[/b:956c76d429];



:arrow: [b:956c76d429]Então talves resolva colocar o Nome de todos os parametros iniciados com a letra P [/b:956c76d429]
Exemplo:

Module.ADOCommand1.Parameters.ParamByName(´[b:956c76d429]pdtcadastrocliente[/b:956c76d429]´).Value := [b:956c76d429]dtcadastrocliente[/b:956c76d429];


[b:956c76d429]Não esqueça que na [b]Instrução Insert Into [/b:956c76d429]voce tem que mudar também o Nome de todos os parametros[/b]


Responder

Gostei + 0

27/03/2007

Renatopeixoto

poh Marco Salles

continuou com o mesmo erro

vc ker da uma olhada no codigo todo?

m manda um email q eu mando pra vc c kiser


Obrigado


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar