| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
leo_cj Colaborador

Registrado: Sábado, 26 de Março de 2011 Mensagens: 1335
|
Enviada: Sex Mai 26, 2017 9:38 am Assunto: |
|
|
Esse tópico deveria estar na sessão de banco não?
Qual o valor desse num_caixa? pois aparentemente ele está ultrapassando os limites de um inteiro, se for isso mesmo, altere o tipo da conversão para um LongInt por exemplo |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Sex Mai 26, 2017 9:56 am Assunto: |
|
|
| leo_cj escreveu: | Esse tópico deveria estar na sessão de banco não?
Qual o valor desse num_caixa? pois aparentemente ele está ultrapassando os limites de um inteiro, se for isso mesmo, altere o tipo da conversão para um LongInt por exemplo | Errei o local de postagem. Depois eu comento vou ter que fazer o teste de noite. Mais se não me engano ja tinha mudado para longint este cast ai e não resolveu, como não da pra testear agora vou ter que aguardar até de noite.
Valeu pela dica. _________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
leo_cj Colaborador

Registrado: Sábado, 26 de Março de 2011 Mensagens: 1335
|
Enviada: Sex Mai 26, 2017 10:02 am Assunto: |
|
|
Opa, sem problemas
Ok, quando testar posta aqui o resultado, e caso ainda ocorra o erro, informe também o valor do num_caixa para o pessoal poder analisar melhor |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Sáb Mai 27, 2017 2:25 pm Assunto: |
|
|
| leo_cj escreveu: | Opa, sem problemas
Ok, quando testar posta aqui o resultado, e caso ainda ocorra o erro, informe também o valor do num_caixa para o pessoal poder analisar melhor |
Peguei o select que esta com problema, é este
| Código: | SELECT ( MAX(CAST(coalesce(nrordemserv,'0') as bigint) + 1 ))as n_doc
FROM ordemserv WHERE CAST(nrordemserv as bigint) <= 999991 |
Mudei para bigint e continua o problema
| Citação: | Overflow occurred during data type conversion.
conversion error from string "".
|
O campo é este
| Citação: | | NRORDEMSERV VARCHAR(20), |
Pertence a esta função aqui
| Código: | function Tfrmcadordserv.FuncMaxOrdemServ(aqry: TZQuery): Integer;
begin
{ with aqry do
begin
Close;
SQL.Clear;
SQL.Text := ' SELECT ( MAX( CAST(nrordemserv as INTEGER) ) + 1 ) as n_doc '+
' FROM ordemserv WHERE CAST(nrordemserv as INTEGER) <= 999991 ';
Open;
if FieldByName('n_doc').AsInteger > 999991 then
begin
// configura a query de 50.000 a 99.999
Close;
SQL.Clear;
SQL.Text := ' SELECT FIRST 1 ( CAST(o.nrordemserv as INTEGER) + 1 ) as n_doc '+
' FROM ordemserv as o '+
' WHERE o.nrordemserv > ''50000'' and '+
' substring(o.nrordemserv from 5 for 1) <> '''' and '+
' not exists (select 1 from ordemserv as s '+
' where s.nrordemserv = CAST(CAST(o.nrordemserv as INTEGER) + 1 as varchar(10))) '+
' ORDER BY o.nrordemserv ';
Open;
if IsEmpty then
begin
// configura a query de 100.000 a 999.999
Close;
SQL.Clear;
SQL.Text := ' SELECT FIRST 1 ( CAST(o.nrordemserv as INTEGER) + 1 ) as n_doc '+
' FROM ordemserv as o '+
' WHERE o.nrordemserv >= ''100000'' and '+
' substring(o.nrordemserv from 6 for 1) <> '''' and '+
' not exists (select 1 from ordemserv as s '+
' where s.nrordemserv = CAST(CAST(o.nrordemserv as INTEGER) + 1 as varchar(10))) '+
' ORDER BY o.nrordemserv ';
Open;
if IsEmpty then
Result := 0 // ou outro valor a retornar quando não encontrou código disponível
else
Result := FieldByName('n_doc').AsInteger;
end
else
Result := FieldByName('n_doc').AsInteger;
end
else
Result := FieldByName('n_doc').AsInteger;
end;
}
end; |
_________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
leo_cj Colaborador

Registrado: Sábado, 26 de Março de 2011 Mensagens: 1335
|
Enviada: Seg Mai 29, 2017 8:37 am Assunto: |
|
|
| Que bom que conseguiu descobrir o problema, o campo foi gravado vazio ('') ou null? se for null, você pode utilizar o COALESCE pra transformar o null em 0 |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
|