VARIAVEL DATA É DATE E STRING?

MOUSER 10/03/2017 22:20:50
#472364
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!
MARIOANDRADE 11/03/2017 10:22:39
#472369
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....
MARIOANDRADE 11/03/2017 10:24:25
#472370
Eu sempre costumo dizer, dai a Cezar o que é de Cezar...
em outras palavras devemos declarar tudo como manda o
figurino....
NILSONTRES 11/03/2017 11:54:35
#472371
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 ?
RICARDOCENTENO 11/03/2017 15:49:30
#472377
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.
MOUSER 11/03/2017 20:36:07
#472384
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)
MOUSER 11/03/2017 20:39:35
#472385
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!
NICKOSOFT 12/03/2017 17:12:44
#472391
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)
MOUSER 13/03/2017 08:18:24
#472396
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?
OMAR2011 13/03/2017 08:33:33
#472397
Acesse e traduz para tu ver.
https://msdn.microsoft.com/pt-br/library/system.data.sqlclient.sqlparametercollection.addwithvalue(v=vs.110).aspx
OCELOT 13/03/2017 09:37:55
#472399
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.
Página 1 de 3 [26 registro(s)]
Tópico encerrado , respostas não são mais permitidas