Jump to content


Photo

Erro De Conversão


  • Faça o login para participar
3 replies to this topic

#1 paulofrrz

paulofrrz

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 24/02/2005, 20:19

Estou montando uma aplicação, cuja intenção ao digitar um campo de Identificação do funcionário e outro do primeiro dia da quinzena ele me dê uma tela como se fosse o extrado do mesmo, se por acaso já havia sido digitado ele me mostra na tela pra alterações ou não, e se ainda não foi digitado nada ele cria uma nova quinzena em branco a contar da data inicial informada para que eu possa inserir as refeições e restaurantes que o mesmo utilizou, só que ocorre o erro:
---------------------------
Debugger Exception Notification
---------------------------
Project P_DepartamentoPessoal.exe raised exception class EVariantTypeCastError with message 'Could not convert variant of type (Null) into type (String)'. Process stopped. Use Step or Run to continue.

O código que estou utilizando é:

procedure TF_LancRestaurante.Ed_DataIniExit(Sender: TObject);
Var Refer,Referencia,Data: String;
DataIni,Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8,Data9,Data10,Data11,Data
12,Data13,Data14,Data15: TDateTime;
begin
Pn_Localiza.Visible:=False;
Pn_Dados.Visible:=True;
Pn_Lancamentos.Visible:=True;
Refer:=Ed_Ref.Text;
Referencia:=Q_LancRefeicoes.Parameters.ParambyName('Referencia').Value;
Data:=Q_LancRefeicoes.Parameters.ParamByName('Data').Value;
If (Referencia<>Ed_Ref.Text) or (Data<>Ed_DataIni.Text) then
Begin
DataIni:=StrToDate(Ed_DataIni.Text);
Data1:=DataIni;
Data2:=Data1+1;
Data3:=Data2+1;
Data4:=Data3+1;
Data5:=Data4+1;
Data6:=Data5+1;
Data7:=Data6+1;
Data8:=Data7+1;
Data9:=Data8+1;
Data10:=Data9+1;
Data11:=Data10+1;
Data12:=Data11+1;
Data13:=Data12+1;
Data14:=Data13+1;
Data15:=Data14+1;
DBE_Data01.SetFocus;

Q_LancRefeicoes.Insert;
DBE_Referencia.Text:=Refer;
DBE_Data01.Text:=DateToStr(Data1);
DBE_Data02.Text:=DateToStr(Data2);
DBE_Data03.Text:=DateToStr(Data3);
DBE_Data04.Text:=DateToStr(Data4);
DBE_Data05.Text:=DateToStr(Data5);
DBE_Data06.Text:=DateToStr(Data6);
DBE_Data07.Text:=DateToStr(Data7);
DBE_Data08.Text:=DateToStr(Data8);
DBE_Data09.Text:=DateToStr(Data9);
DBE_Data10.Text:=DateToStr(Data10);
DBE_Data11.Text:=DateToStr(Data11);
DBE_Data12.Text:=DateToStr(Data12);
DBE_Data13.Text:=DateToStr(Data13);
DBE_Data14.Text:=DateToStr(Data14);
DBE_Data15.Text:=DateToStr(Data15);
End;

end;

#2 Scurlock

Scurlock

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 25/02/2005, 08:23

Você deve mudar essas duas linhas:

Referencia:=Q_LancRefeicoes.Parameters.ParambyName('Referencia').Value;
Data:=Q_LancRefeicoes.Parameters.ParamByName('Data').Value;

para:

Referencia:=Q_LancRefeicoes.Parameters.ParambyName('Referencia').AsString;
Data:=Q_LancRefeicoes.Parameters.ParamByName('Data').AsString;

Assim o valor do banco de dados será transformado em string, e se ele estiver nulo será transformado em ' ', ou seja, espaço em branco.

#3 paulofrrz

paulofrrz

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 02/03/2005, 20:20

Agora dá um erro assim:

[Error] U_LancRestaurante.pas(436): Undeclared identifier: 'AsString'


????

#4 proteus_adi

proteus_adi

    @handle:=proteus;//>>>

  • Usuários
  • 309 posts
  • Sexo:Não informado
  • Localidade:Minas Gerais&gt;&gt; Belo Horizonte
  • Interesses:Programação e Web&gt;&gt;&gt;

Posted 03/03/2005, 21:26

tenta isso

Referencia:=Q_LancRefeicoes.ParambyName('Referencia').AsString;
Data:=Q_LancRefeicoes.ParamByName('Data').AsString;
PROTEUS [ADSUMUS]
ETERNAL ########
---------------------------------------------------------------
"Já dizia o mestre: PROGRAMAR é diferente de CODIFICAR"...




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq