VARIAVEL DATA É DATE E STRING?

 Tópico anterior Próximo tópico Novo tópico

VARIAVEL DATA É DATE E STRING?

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#472364 - 10/03/2017 22:20:50

MOUSER
CARAPICUIBA
Cadast. em:Fevereiro/2014


Galera, estive pesquisando algumas soluções na internet, e achei muitas dicas e ainda não tive tempo de testar todas, mas achei um exemplo que me chamou a atenção por ser um tanto curioso! Pelo titulo do topico já devem saber do que se trata! No link do Macoratti ele declara a variavel String, sendo no banco ele é Date! Isso seria correto politicamente falando? Pergunto pois tanto na variavel quanto no SQL eu declaro sempre ambos como Date

Exemplo:
Dim Data as Date 'Isso no vb

CREATE TABLE [dbo].[t_Data](
    [cod] [int] IDENTITY (1,1) NOT NULL,
    [Data] [date]  NOT NULL
        ) ON [PRIMARY] /Isso no SQL

Queria saber a opinião de amigos!

VB.NET + SQL Server = Muita coisa sei, mas muita coisa para aprender.
Curso de Excel e VB6 www.cursoexcelvba.com.br
Blog do Mouser


#472369 - 11/03/2017 10:22:39

MARIOANDRADE
SANTO ANTONIO DE JESUS
Cadast. em:Abril/2012


Certa vez um de nossos alunos declarou um campo campo texto para colocar datas,
o campo aceitava e pesquisava sem problemas, a única coisa errada era na hora de
ordenar, pois era ordenado como texto e não como data, então por exemplo a data
03/10/2015 vinha antes 04/11/2015 pois ele só interpretava os primeiros campos....

    Cursos de Excel e VB6:
    www.cursoexcelvba.com.br



#472370 - 11/03/2017 10:24:25

MARIOANDRADE
SANTO ANTONIO DE JESUS
Cadast. em:Abril/2012


Eu sempre costumo dizer, dai a Cezar o que é de Cezar...
em outras palavras devemos declarar tudo como manda o
figurino....


    Cursos de Excel e VB6:
    www.cursoexcelvba.com.br



#472371 - 11/03/2017 11:54:35

NILSONTRES
SAO PAULO
Cadast. em:Março/2012


Citação:
  Certa vez um de nossos alunos declarou um campo campo texto para colocar datas,
o campo aceitava e pesquisava sem problemas, a única coisa errada era na hora de
ordenar, pois era ordenado como texto e não como data, então por exemplo a data
03/10/2015 vinha antes 04/11/2015 pois ele só interpretava os primeiros campos.

Não só na ordenação, as pesquisas também são falsas, princialmente quando envolve anos diferentes.

Citação:
  No link do Macoratti ele declara a variavel String

Tem certeza disso ?



#472377 - 11/03/2017 15:49:30

RICARDOCENTENO
RIO GRANDE DO SUL
Cadast. em:Janeiro/2010


Bem eu uso o formato string no banco e converto esta em formato date quando preciso fazer quaisquer cálculos com as datas ou horas. Mas cada caso é um caso.

  Ricardo Centeno


#472384 - 11/03/2017 20:36:07

MOUSER
CARAPICUIBA
Cadast. em:Fevereiro/2014


Citação:
  Bem eu uso o formato string no banco e converto esta em formato date quando preciso fazer quaisquer cálculos com as datas ou horas. Mas cada caso é um caso.


Eu declaro data como date, pois o sistema que estou desenvolvendo pesquisa por periodo (DataInicio/DataFinal)

VB.NET + SQL Server = Muita coisa sei, mas muita coisa para aprender.
Curso de Excel e VB6 www.cursoexcelvba.com.br
Blog do Mouser


#472385 - 11/03/2017 20:39:35

MOUSER
CARAPICUIBA
Cadast. em:Fevereiro/2014


 Anexos estao visíveis somente para usuários registrados

Citação:
  Tem certeza disso ?  


NILSONTRES, eu tirei um print do proprio link que deixei disponivel na postagem, talvez eu esteja fazendo confusão mas ele declarou duas variaveis de data em String! Me ajuda a entender!


VB.NET + SQL Server = Muita coisa sei, mas muita coisa para aprender.
Curso de Excel e VB6 www.cursoexcelvba.com.br
Blog do Mouser


#472391 - 12/03/2017 17:12:44

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


Última edição em 12/03/2017 17:13:36 por NICKOSOFT

mas mesmo sendo declarado string, o conteúdo é passado em formato datetime, veja dtpinicio.value.string
eu declaro tudo conforme o q deve conter, mas no inicio do tópico pensei q dentro do BD por acaso estaria string, pq ai as pesquisas vão pro brejo ou tem q fazer 1001 manobras antes....
poderia ser string e armazenar um inteiro
dim valor as string
valor=cint(text1.text)



#472396 - 13/03/2017 08:18:24

MOUSER
CARAPICUIBA
Cadast. em:Fevereiro/2014


Entendi, a variavel no VB.NET ou C# ou Java pode ser String, mas no banco datetime, então para variavel ele é convertido para poder fazer a pesquisa. Seria mais ou menos isso?

VB.NET + SQL Server = Muita coisa sei, mas muita coisa para aprender.
Curso de Excel e VB6 www.cursoexcelvba.com.br
Blog do Mouser


#472397 - 13/03/2017 08:33:33

OMAR2011
MONTES CLAROS
Cadast. em:Setembro/2011


Acesse e traduz para tu ver.
https://msdn.microsoft.com/pt-br/library/system.data.sqlclient.sqlparametercollection.addwithvalue(v=vs.110).aspx



#472399 - 13/03/2017 09:37:55

OCELOT
SOROCABA
Cadast. em:Março/2012


Você nunca deveria usar string para guardar dados que não são simplesmente textos, você deveria sempre usar o tipo apropriado, então uma data deve sempre ser guardada em um tipo DateTime, você só deve converter ela para texto quando necessário.

No caso de passar como parâmetros para uma SQL é totalmente desnecessário converter para string, se você passar como DateTime você não precisa se preocupar com o formato da data pois ela sempre vai correta, o único caso que vi dela indo de forma incorreta era por culpa do provider que não tratava o formato corretamente, mas hoje em dia isso não deve acontecer.

Acho que só mesmo no caso de ter de exibir os valores em um controle que só usa strings é que realmente precisa fazer a conversão e usar o valor como texto.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MOUSER em 30/06/2017 09:55:20