Erro SQL - TQuery
Olá;
Veja o código abaixo:
Contador := Contador + 1;
tbLayOut.Close;
tbLayOut.SQL.Clear;
tbLayOut.SQL.Add(´insert into N7 (IdN7,ContainerInicio,ContainerFim,Peso,´);
tbLayOut.SQL.Add(´PesoQualificado,Tara,PesoPermitido,PesoProtecao,Volume,´);
tbLayOut.SQL.Add(´VolumeQualificado,CodigoContainer,CodigoDescricao,´);
tbLayOut.SQL.Add(´CodigoTransacao,Temperatura,Posicao,Tamanho,CodigoTara,´);
tbLayOut.SQL.Add(´UnidadePeso,DigitoVerificador,TipoServico,Altura,Largura,´);
tbLayOut.SQL.Add(´TipoContainer,CodigoEmbarque)´);
tbLayOut.SQL.Add(´values(:IdN7,:ContainerInicio,:ContainerFim,:Peso,´);
tbLayOut.SQL.Add(´:PesoQualificado,:Tara,:PesoPermitido,:PesoProtecao,:Volume,´);
tbLayOut.SQL.Add(´:VolumeQualificado,:CodigoContainer,:CodigoDescricao,´);
tbLayOut.SQL.Add(´:CodigoTransacao,:Temperatura,:Posicao,:Tamanho,:CodigoTara,´);
tbLayOut.SQL.Add(´:UnidadePeso,:DigitoVerificador,:TipoServico,:Altura,´);
tbLayOut.SQL.Add(´:Largura,:TipoContainer,:CodigoEmbarque)´);
Container := tbCliente[´AContver´];
tbLayOut.ParamByName(´IdN7´).AsInteger := Contador;
tbLayOut.ParamByName(´ContainerInicio´).AsString := Copy(Container,1,4);
Contador := (Length(Container) - 5);
tbLayOut.ParamByName(´ContainerFim´).AsString := Copy(Container,5,Contador);
tbLayOut.ParamByName(´Peso´).asInteger := 0;
tbLayOut.ParamByName(´PesoQualificado´).AsString := ´*´;
tbLayOut.ParamByName(´Tara´).AsInteger := 0;
tbLayOut.ParamByName(´PesoPermitido´).AsInteger := 0;
tbLayOut.ParamByName(´PesoProtecao´).AsInteger := 0;
tbLayOut.ParamByName(´Volume´).AsInteger := 0;
tbLayOut.ParamByName(´VolumeQualificado´).AsString := ´*´;
tbLayOut.ParamByName(´CodigoContainer´).AsString := ´*´;
tbLayOut.ParamByName(´CodigoDescricao´).AsString := ´*´;
tbLayOut.ParamByName(´CodigoTransacao´).AsString := ´*´;
tbLayOut.ParamByName(´Temperatura´).AsString := ´*´;
tbLayOut.ParamByName(´Posicao´).AsString := ´*´;
tbLayOut.ParamByName(´Tamanho´).AsInteger := 0;
tbLayOut.ParamByName(´CodigoTara´).AsString := ´*´;
tbLayOut.ParamByName(´UnidadePeso´).AsString := ´*´;
Contador := Length(Container);
tbLayOut.ParamByName(´DigitoVerificador´).asInteger := StrToInt(Copy(Container,Contador,1));
tbLayOut.ParamByName(´TipoServico´).AsString := ´*´;
tbLayOut.ParamByName(´Altura´).AsInteger := 0;
tbLayOut.ParamByName(´Largura´).AsInteger := 0;
tbLayOut.ParamByName(´TipoContainer´).AsString := ´*´;
tbLayOut.ParamByName(´CodigoEmbarque´).AsString := ´*´;
tbLayOut.ExecSQL;
O erro é o seguinte: Type Mismatch in expression
Outra coisa. Como faço para ver os dados e não o código.
por ex.
showmessage(tbLayOut.SQL.Text) assim mostra os parâmetros
Veja o código abaixo:
Contador := Contador + 1;
tbLayOut.Close;
tbLayOut.SQL.Clear;
tbLayOut.SQL.Add(´insert into N7 (IdN7,ContainerInicio,ContainerFim,Peso,´);
tbLayOut.SQL.Add(´PesoQualificado,Tara,PesoPermitido,PesoProtecao,Volume,´);
tbLayOut.SQL.Add(´VolumeQualificado,CodigoContainer,CodigoDescricao,´);
tbLayOut.SQL.Add(´CodigoTransacao,Temperatura,Posicao,Tamanho,CodigoTara,´);
tbLayOut.SQL.Add(´UnidadePeso,DigitoVerificador,TipoServico,Altura,Largura,´);
tbLayOut.SQL.Add(´TipoContainer,CodigoEmbarque)´);
tbLayOut.SQL.Add(´values(:IdN7,:ContainerInicio,:ContainerFim,:Peso,´);
tbLayOut.SQL.Add(´:PesoQualificado,:Tara,:PesoPermitido,:PesoProtecao,:Volume,´);
tbLayOut.SQL.Add(´:VolumeQualificado,:CodigoContainer,:CodigoDescricao,´);
tbLayOut.SQL.Add(´:CodigoTransacao,:Temperatura,:Posicao,:Tamanho,:CodigoTara,´);
tbLayOut.SQL.Add(´:UnidadePeso,:DigitoVerificador,:TipoServico,:Altura,´);
tbLayOut.SQL.Add(´:Largura,:TipoContainer,:CodigoEmbarque)´);
Container := tbCliente[´AContver´];
tbLayOut.ParamByName(´IdN7´).AsInteger := Contador;
tbLayOut.ParamByName(´ContainerInicio´).AsString := Copy(Container,1,4);
Contador := (Length(Container) - 5);
tbLayOut.ParamByName(´ContainerFim´).AsString := Copy(Container,5,Contador);
tbLayOut.ParamByName(´Peso´).asInteger := 0;
tbLayOut.ParamByName(´PesoQualificado´).AsString := ´*´;
tbLayOut.ParamByName(´Tara´).AsInteger := 0;
tbLayOut.ParamByName(´PesoPermitido´).AsInteger := 0;
tbLayOut.ParamByName(´PesoProtecao´).AsInteger := 0;
tbLayOut.ParamByName(´Volume´).AsInteger := 0;
tbLayOut.ParamByName(´VolumeQualificado´).AsString := ´*´;
tbLayOut.ParamByName(´CodigoContainer´).AsString := ´*´;
tbLayOut.ParamByName(´CodigoDescricao´).AsString := ´*´;
tbLayOut.ParamByName(´CodigoTransacao´).AsString := ´*´;
tbLayOut.ParamByName(´Temperatura´).AsString := ´*´;
tbLayOut.ParamByName(´Posicao´).AsString := ´*´;
tbLayOut.ParamByName(´Tamanho´).AsInteger := 0;
tbLayOut.ParamByName(´CodigoTara´).AsString := ´*´;
tbLayOut.ParamByName(´UnidadePeso´).AsString := ´*´;
Contador := Length(Container);
tbLayOut.ParamByName(´DigitoVerificador´).asInteger := StrToInt(Copy(Container,Contador,1));
tbLayOut.ParamByName(´TipoServico´).AsString := ´*´;
tbLayOut.ParamByName(´Altura´).AsInteger := 0;
tbLayOut.ParamByName(´Largura´).AsInteger := 0;
tbLayOut.ParamByName(´TipoContainer´).AsString := ´*´;
tbLayOut.ParamByName(´CodigoEmbarque´).AsString := ´*´;
tbLayOut.ExecSQL;
O erro é o seguinte: Type Mismatch in expression
Outra coisa. Como faço para ver os dados e não o código.
por ex.
showmessage(tbLayOut.SQL.Text) assim mostra os parâmetros
Excon
Curtidas 0