none
Problemas com tipo de dados RRS feed

  • Pergunta

  • Tenho um textBox que irá receber uma data no formato dd/mm/yyyy.

     

    No primeiro momento da minha aplicação eu valido se está textBox está vazia ou não. Se estiver vazia eu marco uma variavel do tipo date como Nothing ou se estiver preenchida eu pego o seu conteudo conforme abaixo

     

    Dim data As Date

    If txtDtEnvio.Text = "" Then

    data = Nothing

    Else

    data = txtDtEnvio.Text

    End If

     

    Bom a ideia é passar essa data como parametro para uma StoreProcedure, porém independente de colocar ou não valor nesta variavel data a StoreProcedure não funciona.

     

    Alguem poderia me ajudar?

    terça-feira, 18 de dezembro de 2007 17:58

Todas as Respostas

  •  

    Oi dralves

     

    Poderia ser um pouco mais específico?

    Como assim não funciona? já debugou a aplicação para ver qual a mensagem de erro está retornando?

     

     

    terça-feira, 18 de dezembro de 2007 18:53
  • Já debuquei sim o erro é este

     

    An unhandled exception of type 'System.Exception' occurred in codigobarras.exe

    Additional information: ErroTongue TiedqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.

     

     

    Ele não executa a minha StoreProcedure eu fico monitorando pelo SQLProfile.

     

     

     

    terça-feira, 18 de dezembro de 2007 19:02
  •  

    Oi dralves

     

    isso está acontecendo porque o seu sql server está configurado para utilizar o formato de data americano ( MM/dd/YYYY ) e você está passando para a stored procedure o formato brasileiro ( dd/MM/YYYY ). quando o sql server ve a data 31/12/2007 por exemplo ele retorna um erro porque não existe o mês 31.

     

    abra o sql server, vá no usuário que você usa para conectar a base de dados na aplicacao. propriedades, e em Default Language coloque Brazilian.

    se isso não resolver formate a string para o formato genérico do ODBC antes de passa-la para o banco de dados:

     

    data.toString("YYYY-mm-dd")

     

     

    terça-feira, 18 de dezembro de 2007 20:03
  •  

    Felipe,

     

    A consulta funcionou quando eu jogo a data com o formato brasileiro(dd/mm/yyyy), porém quando eu deixo a txtBox em branco ele dá o mesmo erro.

     

    An unhandled exception of type 'System.Exception' occurred in codigobarras.exe

    Additional information: ErroTongue TiedqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.

     

     

    O momento onde pego esta data em branca é a mesma

     

    'Valida data de envio e formata

    Dim data As Date

    If txtDtEnvio.Text = "" Then

    data = Nothing

    Else

    data = txtDtEnvio.Text

    End If

     

     

    Alguem poderia me ajudar?

    quarta-feira, 19 de dezembro de 2007 11:40