Jump to content
hmoreira

Verificar se data já ultrapassou os 15 dias

Recommended Posts

hmoreira

Bom dia,

Precisava de uma ajuda.

Estou a desenvolver um pequeno software para uso pessoa, e agora gostava de saber como se faz o seguinte:

Queria que o programa "percorresse"  a base de dados e verificasse se existe algum item em que a data de entrada já tem mais de 15 dias, tendo como base o dia em que estou a verificar.

obg

Cumps

Share this post


Link to post
Share on other sites
Black Tiger III

Ora boas...

Para essa brincadeira tens duas opções, ou fazes com que a base de dados te faça isso internamente, usando por exemplo funções, ou então fazes no código.

Eu cá faria o seguinte, para solucionar o problema rápido:

1- Via qual o dia referente À 15 dias atrás;

2- Sacava todos os records que tivessem para la dessa data:

Por exemplo:

- SELECT (...) where convert(datetime, 'dd-mm-yyyy hh:mm:ss',105)>=CAMPOBASEDADOS;

e depois iterar os dados


Órale MI RAZA, MY BLOOD HOLMES BELONGS TO ME ÉSE...

EENNNGGGGEEEENNNNNNNHHHHAAAARRRRRIIIIIIIIIIAAAAAAAINFORMATICASISTEMAS....

Share this post


Link to post
Share on other sites
hmoreira

Ora boas...

Para essa brincadeira tens duas opções, ou fazes com que a base de dados te faça isso internamente, usando por exemplo funções, ou então fazes no código.

Eu cá faria o seguinte, para solucionar o problema rápido:

1- Via qual o dia referente À 15 dias atrás;

2- Sacava todos os records que tivessem para la dessa data:

Por exemplo:

- SELECT (...) where convert(datetime, 'dd-mm-yyyy hh:mm:ss',105)>=CAMPOBASEDADOS;

e depois iterar os dados

Boas,

Tipo isto?

sql = "SELECT * FROM reparacoes where convert(datetime, 'dd-mm-yyyy hh:mm:ss',105)>=data_entrada";

Share this post


Link to post
Share on other sites
Black Tiger III

Boas,

Tipo isto?

sql = "SELECT * FROM reparacoes where convert(datetime, 'dd-mm-yyyy hh:mm:ss',105)>=data_entrada";

Yep

Não sei bem para que pretendes a coisa, mas funciona. Dependendo do que queres fazer podes optimizar as coisas...


Órale MI RAZA, MY BLOOD HOLMES BELONGS TO ME ÉSE...

EENNNGGGGEEEENNNNNNNHHHHAAAARRRRRIIIIIIIIIIAAAAAAAINFORMATICASISTEMAS....

Share this post


Link to post
Share on other sites
hmoreira

Caro,

Obrigado pela resposta, mas não funcionou :)

A ideia é...

Estou a desenvolver um sistema de informação, grava a entrada de determinado objecto... Por exemplo no dia 01-06-2011.

O que eu preciso é que o programa me alerte quando alguns desses objectos tiverem entrado à mais de 15 dias...

Abraço

Share this post


Link to post
Share on other sites
Black Tiger III

Caro,

Obrigado pela resposta, mas não funcionou :)

A ideia é...

Estou a desenvolver um sistema de informação, grava a entrada de determinado objecto... Por exemplo no dia 01-06-2011.

O que eu preciso é que o programa me alerte quando alguns desses objectos tiverem entrado à mais de 15 dias...

Abraço

Vamos lá por partes, primeiro, tás a utilizar sqlserver 20xx?

Eu tenho isso a funcionar no 2008, e 2010 parto do principio que funcione também nos outros

Ponto um

Temos uma tabela

|_____________________|

|      reparações                |

|----------------------------- |

| cod (int)                        |

| data (Date)                    |

| reparacao (nvarchar(10)) |

|_____________________|

//_date - data a utilizar na pesquisa (com o dia limite, no formato dd-mm-yyyy hh:mm:ss e em string)
try
{
    List<String> _list = new List<string>();
    SqlDataReader _reader = null;
    SqlCommand    _command = new SqlCommand("SELECT cod,reparacao FROM reparacoes where convert(datetime, 'dd-mm-yyyy hh:mm:ss',105)<"+_date+"", _conn);
    _reader = myCommand.ExecuteReader();
    while(_reader.Read())
    {
        _list.Add(myReader["cod"].ToString());
        _list.Add(myReader["reparacao"].ToString());
    }
}
catch (Exception e)
{
    MessageBox.Show(e.ToString());
}

 

Penso que é algo desse género está feito de cabeça, vê os erros que te dará


Órale MI RAZA, MY BLOOD HOLMES BELONGS TO ME ÉSE...

EENNNGGGGEEEENNNNNNNHHHHAAAARRRRRIIIIIIIIIIAAAAAAAINFORMATICASISTEMAS....

Share this post


Link to post
Share on other sites
hmoreira

Vamos lá por partes, primeiro, tás a utilizar sqlserver 20xx?

Eu tenho isso a funcionar no 2008, e 2010 parto do principio que funcione também nos outros

Ponto um

Temos uma tabela

|_____________________|

|      reparações                |

|----------------------------- |

| cod (int)                        |

| data (Date)                    |

| reparacao (nvarchar(10)) |

|_____________________|

//_date - data a utilizar na pesquisa (com o dia limite, no formato dd-mm-yyyy hh:mm:ss e em string)
try
{
    List<String> _list = new List<string>();
    SqlDataReader _reader = null;
    SqlCommand    _command = new SqlCommand("SELECT cod,reparacao FROM reparacoes where convert(datetime, 'dd-mm-yyyy hh:mm:ss',105)<"+_date+"", _conn);
    _reader = myCommand.ExecuteReader();
    while(_reader.Read())
    {
        _list.Add(myReader["cod"].ToString());
        _list.Add(myReader["reparacao"].ToString());
    }
}
catch (Exception e)
{
    MessageBox.Show(e.ToString());
}

 

Penso que é algo desse género está feito de cabeça, vê os erros que te dará

Infelizmente quando comecei a desenvolver o projecto comecei com access... o que deverá ser alterado muito brevemente. De qualquer forma utilizei o teu código e deu o seguinte erro:

"A função 'convert' não está definida na expressão"...

Share this post


Link to post
Share on other sites
Black Tiger III

Infelizmente quando comecei a desenvolver o projecto comecei com access... o que deverá ser alterado muito brevemente. De qualquer forma utilizei o teu código e deu o seguinte erro:

"A função 'convert' não está definida na expressão"...

Pergunta idiota, mas fizeste os importes correspondentes ao SQL?

http://msdn.microsoft.com/en-us/library/ms187928.aspx


Órale MI RAZA, MY BLOOD HOLMES BELONGS TO ME ÉSE...

EENNNGGGGEEEENNNNNNNHHHHAAAARRRRRIIIIIIIIIIAAAAAAAINFORMATICASISTEMAS....

Share this post


Link to post
Share on other sites
hmoreira

provavelmente não... ainda sou muito "verde" nestas andanças... :)

desculpa o tempo que estou a fazer perder...

cumps

Share this post


Link to post
Share on other sites
Black Tiger III

Pacifico

Estamos aqui para ajudar.

Ora bem tens que colocar esta linha de código nos imports

using System.Data.SqlClient;

Tens aqui um tut. para começares a ver como trabalhar com a bd

http://www.codeproject.com/KB/database/sql_in_csharp.aspx


Órale MI RAZA, MY BLOOD HOLMES BELONGS TO ME ÉSE...

EENNNGGGGEEEENNNNNNNHHHHAAAARRRRRIIIIIIIIIIAAAAAAAINFORMATICASISTEMAS....

Share this post


Link to post
Share on other sites
Black Tiger III

Mesmo a minha base de dados ser em MS Access?

:)

Nopes. Isto é para uma base de dados Sql (sqlserver).

Para base de dados em Access não sei como é :\


Órale MI RAZA, MY BLOOD HOLMES BELONGS TO ME ÉSE...

EENNNGGGGEEEENNNNNNNHHHHAAAARRRRRIIIIIIIIIIAAAAAAAINFORMATICASISTEMAS....

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.