c # сравнить текущий результат MySQL со следующим в строке - PullRequest
0 голосов
/ 06 января 2011

Чтобы просмотреть список результатов, список списков, которые я сейчас использую:

    foreach (IELog ieLog in emailAttach)
    {
        logAttachment += ieLog.FirstName + "," + ieLog.LastName +
             "," + ieLog.Building + "," + ieLog.Room + "," + ieLog.Ingresstime + "," 
             + ieLog.Egresstime + "\n";
     }

Я хотел бы сравнить ieLog.FirstName со следующим в строке и изображением, это будет работать примерно так, просто мой синтаксис неправильный.

n = 0;
while (emailAttach.FirstName [n] == emailAttach.FirstName[n++] {
     do something;
    }

Результирующий набор выглядит так:

Человек | Логин | Выход

Тайм-аут на Йоркской охоте

Тайм-аут на Йоркской охоте

Тайм-аут на Йоркской охоте

Тайм-аут на Йоркской охоте

Майк Хант, тайм-аут

Майк Хант, тайм-аут

Майк Хант, тайм-аут

Майк Хант, тайм-аут

и я стремлюсь только к имени однажды

Тайм-аут на Йоркской охоте

       intime outtime

       intime outtime 

       intime outtime   

Майк Хант, тайм-аут

       intime outtime 

       intime outtime 

       intime outtime 

Спасибо за любую помощь!

Ответы [ 3 ]

2 голосов
/ 06 января 2011

Вы пытаетесь получить свойство FirstName элемента n th внутри emailAttach.

Другими словами, emailAttach[n].FirstName.

Также вам нужно изменить n++ на ++n.

1 голос
/ 06 января 2011

Вместо этого вы можете сделать это в MySQL.http://www.mysqlfaqs.net/mysql-faqs/SQL-Statements/Select-Statement/How-does-DISTINCT-work-in-MySQL

SELECT DISTINCT FirstName, LastName, Building, Room, Ingresstime, Egresstime FROM table
1 голос
/ 06 января 2011

Если у вас есть LINQ (по крайней мере, на клиенте), вам следует просто использовать source.GroupBy(x => x.FirstName), чтобы сгруппировать записи для одного и того же имени.

...