【问题标题】:c# compare mysql current result with the next one in linec#比较mysql当前结果和下一个结果
【发布时间】:2011-06-04 18:18:26
【问题描述】:

要遍历我的结果集,一个列表列表,我目前正在使用:

    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;
    }

结果集如下所示:

人 |登录 |注销

York Hunt 超时时间

York Hunt 超时时间

York Hunt 超时时间

York Hunt 超时时间

Mike Hunt 超时时间

Mike Hunt 超时时间

Mike Hunt 超时时间

Mike Hunt 超时时间

我的目标只是一次名称

York Hunt 超时时间

       intime outtime

       intime outtime 

       intime outtime   

Mike Hunt 超时时间

       intime outtime 

       intime outtime 

       intime outtime 

感谢您的帮助!

【问题讨论】:

    标签: c# mysql while-loop resultset


    【解决方案1】:

    您正试图获取emailAttach 内第n 项的FirstName 属性。

    换句话说,emailAttach[n].FirstName。

    另外,您需要将n++ 更改为++n。

    【讨论】:

    • 我被难住了,这个回答具体是我问的,但 Jon Skeets 可能会得到支票。
    【解决方案2】:

    假设您有可用的 LINQ(至少在客户端),您应该只使用 source.GroupBy(x => x.FirstName) 将同名的条目组合在一起。

    【讨论】:

    • 我也在想同样的事情,使用 LINQ 可以轻松完成这项任务。
    【解决方案3】:

    您可以改为在 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

    【讨论】:

    • 这真的很酷,但我希望行中的数据具有重复的名称,而不是名称。就像您有学生成绩的广告数据库,并且您希望学生和所有成绩逐行,但只有一个学生条目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多