Avatar billede juks Novice
13. august 2012 - 12:08 Der er 8 kommentarer

udregne Alder med udfra forskellige år

Hej , jeg har et simpelt spørgsmål tror jeg :-)

jeg har en medlemsdatabase hvor jeg hvert år skal afgive hvor mange jeg har inde for hver aldersgruppe.
men hvordan gør jeg det nemmest, den skal jo ikke regne det ud fra Date men fra det år jeg adsprøger efter. medlemsdata er gemt i mysql og felt user.birthday (Date type).
Avatar billede juks Novice
13. august 2012 - 12:11 #1
min kode til data settet ser sådan her ud .

public DataSet GetPlayersAge(int year)
    {
      int year2 = year-1;
      string CalcYear = "01/01/" + year.ToString();
      var myDate = Convert.ToDateTime(CalcYear);
      //var myDate = DateTime.Parse(year.ToString());
      DateTime newDate = myDate.AddYears(-1);

    string sql;
   
    sql = "SELECT ("+CalcYear+" - swans_user.birthday) / 10000 AS age From User Where (YEAR(swans_player.resign_date) BETWEEN " + year +" AND " + year + ")

  MySqlConnection connection = Connection.GetConnection();
        MySqlCommand cmd = connection.CreateCommand();
     
        cmd.CommandText = sql;
        cmd.CommandType = CommandType.Text;
        MySqlDataAdapter adap = new MySqlDataAdapter(cmd);
        DataSet ds = new DataSet("Alder");
        adap.Fill(ds);

        return ds;
    }
}

men det virker ikke rigtigt , hvor laver jeg fejl :-)
Avatar billede Syska Mester
13. august 2012 - 12:23 #2
Hvad betyder "virker ikke rigtigt"?

Får du forkert data tilbage? eller måske ingen data?
Avatar billede arne_v Ekspert
13. august 2012 - 15:41 #3
du laver et antalialdersgruppe int array
du henter alt fra databsen med en SELECT * uden WHERE
du henter en raekke af gangen
du beregner forskel mellem start af idag og foedselsdag fra databasen i C# kode
du taeller det element op i et array der matcher alder
Avatar billede juks Novice
13. august 2012 - 16:55 #4
men hvordan får jeg alder . regnet ud .



fødselsdato 22-08-2000 giver 2000,08219995027 på den måde jeg regner pt.
Avatar billede arne_v Ekspert
13. august 2012 - 17:28 #5
du skal have datoer over i DateTime
Avatar billede juks Novice
05. september 2012 - 12:26 #6
hvordan  :-)
skal jeg bare parse det eller ?
Avatar billede arne_v Ekspert
05. september 2012 - 14:23 #7
Hvis du har dem i streng form: ja
Avatar billede juks Novice
05. september 2012 - 14:30 #8
ok, jeg tror jeg er ved at få det til at spille , problemet var der var registreret forkert føddato i stamdata
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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