VARIAVEL DATA É DATE E STRING?
Antes eu trabalhava com variável tipo string para evitar problemas com formato date (dd/mm/yyyy) e (mm/dd/yyyy), mas depois que aprendi a usar parâmetros, uso apenas o formato date, pois como disse OCELOT, não há necessidade de conversão (pelos menos em vb.net rsrsrs)
Minha opinião é igual à do OCELOT.
Acho que o Macoratti fez dessa maneira, pois é apenas para estudo, garanto que se ele for desenvolver algo para uma empresa, não fará dessa maneira. Pode apostar.
Acho que o Macoratti fez dessa maneira, pois é apenas para estudo, garanto que se ele for desenvolver algo para uma empresa, não fará dessa maneira. Pode apostar.
Galera, só mais uma duvida! Vejo que muitos fazem o select da seguinte forma:
Essa [Ô]##[Ô] Seria necessariamente para qual função?
Citação:Select * from t_Data Where data between #dataInicio# And #dataFim# order by admissao
Essa [Ô]##[Ô] Seria necessariamente para qual função?
Isto é para o Famoso Access.
MySql:
Select * from t_Data Where data between [ô]dataInicio[ô] And [ô]dataFim[ô] order by admissao
O truque todo é ver variáveis de data como o que elas são: Tipos compostos. Elas tem dia, mês, ano, hora, minuto, segundo e até milissegundo. Todas essas informações podem ser extraÃdas, usadas para cálculos, como base para ordenação e toda e qualquer outra operação desejada, TUDO EM SEPARADO. Ou seja, apesar de vermos uma data como uma coisa só, trata-se de várias informações combinadas.
Data/hora é data/hora, texto é texto.
O fato é que você pode ler um texto e interpretar que ali está armazenada uma data, ou um valor, ou um valor lógico.
Trocando em miúdos, sempre que usar variáveis do tipo textual para armazenar valores de outros tipos, vai precisar também fazer as rotinas que convertam esses dados. Se, por outro lado, usar variáveis com tipos compatÃveis, essas rotinas basicamente são desnecessárias. Com data/hora, valores numéricos e valores lógicos, podemos realizar cálculos. Com textos, só podemos concatenas ou subtrair caracteres. Assim, faz todo o sentido usar um DateTime para armazenar uma data de nascimento, pois podemos usar esse valor para calcular a idade. No tocante à base de dados e à s suas variáveis, procure sempre definir o tipo de dados o mais próximo possÃvel das necessidades reais.
Essa é uma explicação muuuito simplista, mas que, sem entrar em mais detalhes, serve bem ao propósito.
O fato é que você pode ler um texto e interpretar que ali está armazenada uma data, ou um valor, ou um valor lógico.
Trocando em miúdos, sempre que usar variáveis do tipo textual para armazenar valores de outros tipos, vai precisar também fazer as rotinas que convertam esses dados. Se, por outro lado, usar variáveis com tipos compatÃveis, essas rotinas basicamente são desnecessárias. Com data/hora, valores numéricos e valores lógicos, podemos realizar cálculos. Com textos, só podemos concatenas ou subtrair caracteres. Assim, faz todo o sentido usar um DateTime para armazenar uma data de nascimento, pois podemos usar esse valor para calcular a idade. No tocante à base de dados e à s suas variáveis, procure sempre definir o tipo de dados o mais próximo possÃvel das necessidades reais.
Essa é uma explicação muuuito simplista, mas que, sem entrar em mais detalhes, serve bem ao propósito.
Uma ultima questão para encerrar esse tópico! Sabemos que existe varias formas de declarar uma data, e como nosso amigo Kerplunk mesmo disse, existe a possibilidade de puxar só a data (Dia/Mes/Ano Or Ano/Dia/Mes) ou puxar data e hora (Ano/Dia/Mes Hora:Min), e até mesmo milésimo de segundo. Queria saber qual o meio certo de declarar cada tipo de variavel. Por exemplo, no meu caso, 95% dos registros a qual trabalho, precisam só da data, eu sempre declarei tanto no SQL Server ou no VB.NET da seguinte forma:
Para registrar só a data está correto a forma de declarar o atributo da tabela e da variável?
Citação:
Dim Data as Date
CREATE TABLE [dbo].[t_Data](
[cod] [int] IDENTITY (1,1) NOT NULL,
[Data] [date] NOT NULL
) ON [PRIMARY]
Para registrar só a data está correto a forma de declarar o atributo da tabela e da variável?
Date tem precisão de 1 dia. Se você quer apenas armazenar a data, sem o horário, Date é o que precisa.
Abraços!
Abraços!
Citação:Para registrar só a data está correto a forma de declarar o atributo da tabela e da variável?
No banco de dados você deve usar o tipo que te dá a precisão necessária, e no código, no caso em VB.Net nem sempre existe uma variável correspondente direta do tipo, então você usa o tipo mais próximo dele, sendo que sempre deixando sobrar pro lado do seu código, por exemplo no caso de um campo do SQL Server que guarda só data, não existe nada do tipo no VB.Net que faça isso, porém você tem um que guarda Data e Hora, então é bom o suficiente para isso e você só tem que estar ciente da diferença de capacidade, no caso ignorando as horas, de preferência sempre deixando elas zeradas.
E só para esclarecer, no VB.Net o tipo Date é apenas um apelido para o DateTime, onde o primeiro é o nome usado pelo compilador, o segundo é o nome real existente no .Net Framework, na prática usar qualquer um dos dois tem o mesmo resultado.
Tópico encerrado , respostas não são mais permitidas