Avatar billede kischi Novice
15. december 2008 - 23:51 Der er 4 kommentarer og
1 løsning

dags dato skal udskrives

Hej Jeg er ved at oprette en side hvor den skal udskrive alt hvad der er postet i sql databasen, men kun det som har dags dato.

Det virker fint lokalt når jeg køre det fra web developer, men ikke når jeg uploader den.
Jeg tror det er fordi at i web developerens database er der en datatype ved navn "date" som kun udskriver datoen sådan her: "15-12-2008". Men i sql server 2005 som jeg bruger, hedder den "datetime" og så ser en post sådan ud: "15-12-2008 00:00:00".

så mit spørgsmål er vel hvordan kan jeg få sql server 2005 til kun at skrive datoen og ikke mere?

Eller hvis der er nogle som har andre forslag så er jeg da åben for det?

Det er muligt at oprette poste på:
http://radio.web.surftown.dk/admin/indset_program.aspx

og så burde den udskrive posterne med dags dato på:
http://radio.web.surftown.dk/default.aspx

I er velkomne til at prøve jer frem, så i kan se hvad jeg mener. Den udskriver slet ikke noget med dagsdato.

Min kode som henter det ud ser sådan ud:   

protected void Page_Load(object sender, EventArgs e)
    {
       

            SqlConnection objconn = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionstring"].ToString());
            SqlCommand objcmd = new SqlCommand();


            objcmd.Connection = objconn;
            objcmd.CommandType = CommandType.Text;

            if (DateTime.Now.Hour > 3)
            {

                objcmd.CommandText = "SELECT * FROM PROGRAM WHERE DATE = convert(varchar, GETDATE())";
           
         
            SqlDataReader reader = null;

            objconn.Open();
            reader = objcmd.ExecuteReader();
            program.DataSource = reader;
            program.DataBind();

            objconn.Close();
            }
   
        else
            {
                objcmd.CommandText = "SELECT * FROM PROGRAM WHERE DATE = DATEADD(day, DATEDIFF(day, 1, GETDATE()), 0)";

                SqlDataReader reader = null;

                objconn.Open();
                reader = objcmd.ExecuteReader();
                program.DataSource = reader;
                program.DataBind();

            }

        }

    }

Det er jo så meningen at den skal skifte dag når den er over 3.
men det virker. Så måske hvis man bare kan nøjes med at bruge datoen fra posten og ikke det hele ("00:00")

Jeg håber i forstår hvad jeg mener, ellers bare bede mig om at forklare det bedre.

Håber nogle kan hjælpe?

Mvh. Adam

Tak
Avatar billede arne_v Ekspert
15. december 2008 - 23:58 #1
prøv:

SELECT * FROM program WHERE CONVERT(VARCHAR, date, 105) = CONVERT(VARCHAR, GETDATE(), 105)
Avatar billede kischi Novice
16. december 2008 - 00:48 #2
OK helt sikker, tusind tak, nu virker det.

Men har du mulighed for bare for nysgerrighedens skyld, og så jeg måske kan bruge det en anden gang.

Hvad betyder 105 i denne sammenhæng?

Mvh. Adam

Tak igen :-D
Avatar billede arne_v Ekspert
16. december 2008 - 01:00 #3
dd-mm-yyyy format

http://msdn.microsoft.com/en-us/library/ms187928(SQL.90).aspx

og svar
Avatar billede kischi Novice
16. december 2008 - 01:16 #4
tak
Avatar billede arne_v Ekspert
18. januar 2009 - 04:09 #5
så mangler du kun at acceptere svaret
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester