Fórum Conversion error from string - Firebird e Csharp #594659
04/06/2018
0
string comandoSQL = "INSERT into GASTO_ENERGETICO (DATA_GE, CPF_PACIENTE_GE, CRN_NUTRICIONISTA_GE) values (" + dataConsultaFormatada + ", ''''''''" + txtCPF.Text + "'''''''', ''''''''" + txtNutricionistaAtendente.Text + "'''''''')";
O CPF_PACIENTE_GE é do tipo bigint e o CRN_NUTRICIONISTA_GE é do tipo int, a data está formatada para enviar ''''''''''''''''mm-dd-aaaa".
Porém ao enviar o comando para o banco, ele retorna o seguinte erro: FirebirdSql.Data.FirebirdClient.FbException: ''''''''conversion error from string "-2016"''''''''.
Só que eu não estou enviando em nenhum momento "-2016" para o banco, abaixo está o código de como fica o SQL quando chega no firebird:
INSERT into GASTO_ENERGETICO (DATA_GE, CPF_PACIENTE_GE, CRN_NUTRICIONISTA_GE) values (06-04-2018, ''''''''11122233344'''''''', ''''''''123456'''''''').
Esse mesmo código funcionou para uma tabela, porém não funciona para as demais, estou completamente perdido!
Caue Barros
Curtir tópico
+ 0Post mais votado
04/06/2018
esse com 2018 era o que eu estava tentando mandar e tava retornando o erro com 2016, não sei porque. Mas eu chequei as variáveis de diversas formas e inclusive no debugger, o insert estava com os valores que eu mostrei acima
De qualquer forma, eu consegui resolver o problema indo pra aula hoje e um amigo me ajudou, quando eu dei o insert pelo C#, a variável dataConsultaFormatada estava dessa forma: " + dataConsultaFormatada + " (somente com aspas duplas), quando o certo era '" + dataConsultaFormatada + "' (com aspas simples e aspas duplas), então na hora de passar os valores, o firebird não estava entendendo a variável como uma string e sim como um número e não estava conseguindo fazer a conversão para o formato DATE.
Agora o porque ele ficou mostrando ele ''-2016'' quando eu estava mandando ''2018'' segue um mistério. haha
Agradeço muito a atenção! como eu não tinha ideia do que estava causando o problema, resolvi postar aqui, mas não achei que iriam responder tão cedo, isso é pro meu TCC.
Caue Barros
Gostei + 2
Mais Posts
04/06/2018
Caue Barros
Gostei + 0
04/06/2018
Allan Alves
Nesse caso pelo que entendi ele ta enviando sim esse "-2016", e é nesse momento que ele te da o erro.
Esse que voce postou com data de 2018 ele consegue ir de boa ou da o mesmo erro?
Não utilizo muito Firebird, mas tenta formatar com as barras também.
Gostei + 0
04/06/2018
Allan Alves
Entendi, como ele tava levando como numero tentava converter então chegava nesse valor de "-2016".
Detalhadamente o tratamento que ele fez não sei te falar também, mas basicamente é isso que da entender.
vlw!
Boa sorte no TCC.
Gostei + 0
05/06/2018
Emerson Nascimento
6 - 4 ------- = 2 - 2018 ------- = -2016
Ou seja: fez a subtração, como se fosse uma sentença matemática.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)