【问题标题】:unable to print single record instead of getting multiple records in crystal report and Linq无法打印单条记录,而不是在水晶报表和 Linq 中获取多条记录
【发布时间】:2016-06-12 13:15:30
【问题描述】:

我想在水晶报告中打印 1 条记录或单个注册学生的详细信息。但在这里我得到了多条记录。如何编写代码来获取表的单条记录/最新记录

    StudentDBEntities db = new StudentDBEntities();
    CrystalReportProduct cr = new CrystalReportProduct();
    cr.SetDataSource(db.Students.Select(p => new
    {
        sno = p.sno,
        name =p.sname,
        phone=p.phone,
        email = p.email,
        course = p.course,
        date=p.date,
        paymentmode=p.paymentMode,
        amount=p.amount

    }));

    this.CrystalReportViewerProduct.ReportSource = cr;
    this.CrystalReportViewerProduct.DataBind();

【问题讨论】:

    标签: c# asp.net .net linq crystal-reports


    【解决方案1】:

    使用OrderByDescending(p => p.sno)按sno排序,然后Take(1)

    cr.SetDataSource(db.Students.Select(p => new
    {
        sno = p.sno,
        name =p.sname,
        phone=p.phone,
        email = p.email,
        course = p.course,
        date=p.date,
        paymentmode=p.paymentMode,
        amount=p.amount
    
    }).OrderByDescending(p => p.sno).Take(1));
    

    【讨论】:

    • 得到错误 System.Data.Entity.dll 中出现“System.NotSupportedException”类型的异常,但未在用户代码中处理其他信息:LINQ to Entities 无法识别该方法
    • LINQ to Entities 无法识别方法 'f__AnonymousType0`8
    • 对不起,这是因为数据库不支持获取最后一个对象。您可以使用First(),或者如果您想要最后一个,您可以使用OrderByDescending 订购您的物品,然后使用First()
    • im new linq 你能告诉我如何通过在上面的查询@tomer 中降序来写顺序
    • 再次出现错误 - CrystalDecisions.CrystalReports.Engine.dll 中出现“CrystalDecisions.CrystalReports.Engine.DataSourceException”,但未在用户代码中处理
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    相关资源
    最近更新 更多