Ir para conteúdo
Fórum Script Brasil
  • 0

String Or Binary Data Would Be Truncated


mestre fyoda

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0
DateValue(campodobd) = DateValue('" & Date & "') deu erro de :

'DateValue' is not a recognized function name .

to usando conexao odbc , banco de dados sqlserver 2000 .

eu testei com o access e funcionou o DateValue normalmente . Mas com o sqlserver não funcionou .

Ah tá, a função DateValue() é só para o Access mesmo (eu presumi que você o estivesse utilizando). No caso do SQL Server talvez você precise de uma função equivalente (não sei te informar qual seria).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Moderadores e Administradores , por favor coloquem isso como um tópico importante .

Access

DateValue()

SqlServer

/* Mostra a data atual no formato padrão */

SELECT GETDATE()

/* Converte a data atual para caracter e mostra no formato MM/DD/AAAA */

SELECT CONVERT(CHAR,GETDATE(),101 )

/* Converte a data atual para caracter e mostra no formato AAAA.MM.DD */

SELECT CONVERT(CHAR,GETDATE(),102 )

/* Converte a data atual para caracter e mostra no formato DD/MM/AAAA */

SELECT CONVERT(CHAR,GETDATE(),103 )

/* Converte a data atual para caracter e mostra no formato MM/DD/AA */

SELECT CONVERT(CHAR,GETDATE(),1 )

/* Converte a data atual para caracter e mostra no formato AA.MM.DD

Somente os dois últimos dígitos do ano */

SELECT CONVERT(CHAR,GETDATE(),2 )

/* Converte a data atual para caracter e mostra no formato DD/MM/AA

Somente os dois últimos dígitos do ano */

SELECT CONVERT(CHAR,GETDATE(),3 )

Lembrando sempre de que, como a data vai aparecer para o usuário depende também do tratamento que a aplicação client (quem solicitou os dados) pode fazer.

Para finalizar, algumas funções úteis para o tratamento de datas:

/* Adiciona três dias na data atual */

SELECT DATEADD(DAY,3,GETDATE())

/* Diferença entre datas. Mostra quantos dias se passaram deste o começo do ano 2001 até a data atual*/

SELECT DATEDIFF(DAY,'01/01/2001',GETDATE())

/* Retorna somente o mês da data atual */

SELECT DATEPART(MONTH,GETDATE())

muito importante muitos tem essas duvidas .

Link para o comentário
Compartilhar em outros sites

  • 0

no access mesmo , to com um probleminha .

o meu access ta da seguinte maneira .

tabela Agendar_Consulta

hora -> texto

data -> texto

tel_res -> texto

tel_com -> texto

nom_pac -> texto

tabela hora

8:00

8:30

9:00

9:30

10:00

10:30

11:00

11:30

13:00

13:30

14:00

14:30

15:00

15:30

16:00

16:30

17:00

17:30

18:00

18:30

meu codigo .

Private Sub Form_Load()

campo_data.Caption = Date

Set rs = cn.Execute(" Select  * from Agendar_Consulta where DateValue(data) = DateValue('" & Date & "') ORDER BY hora ASC  ")

Set rs2 = cn.Execute(" Select * from Hora ")

Dim item As ListItem

   While Not rs.EOF

          If rs("hora") = rs2("hora") Then

           Set item = ListView.ListItems.Add(, , rs("hora"))

           item.ListSubItems.Add , , rs("nom_pac")

           item.ListSubItems.Add , , rs("data")

           item.ListSubItems.Add , , rs("tel_res")

           item.ListSubItems.Add , , rs("tel_com")

           rs.MoveNext

           rs2.MoveNext

          Else

           Set item = ListView.ListItems.Add(, , rs2("hora"))

           rs2.MoveNext

         End If

       Wend

       While Not rs2.EOF

            Set item = ListView.ListItems.Add(, , rs2("hora"))

           rs2.MoveNext

         Wend

End Sub

notem q se a tabela Agendar Consulta estiver cadastrado com as horas :

14:00

13:00

8:00

dá o seguinte erro :

BOF e EOF são verdadeiros , ou o registro atual foi excluido . A operação solicitada pelo aplicativo requer um registro atual .

nessa linha da o erro :

If rs("hora") = rs2("hora") Then

já tentei mudar essa linha para

  If rs.Fields("hora").Value = rs2.Fields("hora").Value Then

mas não adiantou muito porque deu o mesmo erro .

e se eu retirar esse 8:00 da certo . porque disso ?

Link para o comentário
Compartilhar em outros sites

  • 0

Antes quando eu debugava o codigo e passava o mouse sobre o rs2("hora") do if ele me mostrava o erro de EOF ou BOF são verdadeiros , ... .

Agora colocando esse codigo rs2.Fields("hora").Value , quando passo o mouse em cima do rs2 ele mostra que o rs2.Fields("hora").Value = Empty .

já evolui , não ta dando mais aquele erro , como resolvo esse problema do rs2.Fields("hora").Value = Empty ?

Set rs = cn.Execute(" Select * from Agendar_Consulta where DateValue(data) =  DateValue('" & dat & "') ORDER BY hora ASC ")

Set rs2 = cn.Execute(" Select * from Hora ")

Dim item As ListItem

  While Not rs.EOF

          If rs.Fields("hora").Value = rs2.Fields("hora").Value Then

          Set item = ListView.ListItems.Add(, , rs("hora"))

          item.ListSubItems.Add , , rs("nom_pac")

          item.ListSubItems.Add , , rs("data")

          item.ListSubItems.Add , , rs("tel_res")

          item.ListSubItems.Add , , rs("tel_com")

          rs.MoveNext

          rs2.MoveNext

          Else

          Set item = ListView.ListItems.Add(, , rs2("hora"))

          rs2.MoveNext

        End If

      Wend

      While Not rs2.EOF

            Set item = ListView.ListItems.Add(, , rs2("hora"))

          rs2.MoveNext

        Wend

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...