Hej Jeg har lavet et mail program, hvor afsendere kan sende mails til mig. Jeg finder afsender ved at indlæse fra en mySQL database ved brug af Idatareader. Jeg finder antallet af mails pr afsender gennem metoden GentAntalMailsPrAfsender Disse værdier indlæses i et data transport objekt mailDTO. Mit problem er nu, at hvis peter har sendt mig 5 mails, så står der peter 5, 5 gange. Og da jeg skal sortere og finde de 3 afsendere som har sendt flest mails, skal jeg bruge et array, hvor afsenderne kun optræder en gang. Dvs. peter 5 anna 4 troels 3 nede i forlykken har jeg forsøgt noget men det virker ikke rigtigt. Så mit spørgsmål er, hvordan fjerner jeg de 4 andre forekomster af peter 5, så han kun optræder en gang og sorterer så han der har sendt flest mails står først? I metoden her har jeg sorteret efter afsender. Jeg er i tvivl om man kan bruge IComparer. Den opererer med nøgler og kan vist sortere i descending order.
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Hej nielle Hermed fremsender jeg dig min FindEmails metode som ligger i min gateway Jeg sender dig også koden til min TableDataGateway som class MailGateway arver fra Desuden har jeg sendt dig koden til GetAntalMailsPrAfsender som ligger i class MailTM Så har jeg vist sendt dig al den kode jeg bruger i denne metode
public class MailGateway : TableDataGateway { public IDataReader FindEmails(string mailAdresse_til) { MySqlDataReader dataReader; string sqlStr; sqlStr = "SELECT * FROM email "; sqlStr += "WHERE modtager = '" + mailAdresse_til + "'"; cmd.CommandText = sqlStr;
public class MailTM //Table Module { public static int GetAntalMailsPrAfsender(string mailAdresse_til, string mailAdresse_fra) { IDataReader mailDataReader; int antal = 0; //int maxAntal = 0;
MailGateway mailGW = new MailGateway(); mailGW.OpenConnection(); mailDataReader = mailGW.FindEmails(mailAdresse_til); while(mailDataReader.Read() == true) { if(mailAdresse_fra.Equals(mailDataReader["afsender"])) { antal++; // maxAntal = antal; //finder den afsender der har sendt flest mails //dette er udkommenteret, da jeg // //skal finde de 3 afsendere der har // if(antal > maxAntal) //sendt flest mails // { // maxAntal = antal; // } } }
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.