You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DevExpress XtraReport绑定SQLite动态数据表时出现「Invalid Data Member」错误的解决求助

解决XtraReport「Invalid Data Member」错误的方案

嘿,我一眼就瞅出问题所在了——你把DataMember设成数据库表名tblName了,但XtraReport需要的是SqlDataSource里定义的查询名称,不是表名!

问题根源

在你的BindToData()方法里,你创建了一个名为customQuery的CustomSqlQuery,并把它添加到了SqlDataSource的查询集合中。但在设置报表的DataMember时,你却给了它表名tblName,系统自然找不到对应的数据成员,所以抛出了错误。

修复步骤

只需要把DataMember的赋值改成查询的名称即可,也就是你定义的"customQuery":

修改后的创建报表代码

private void btnCreateReport_Click(object sender, EventArgs e) {
    if (LogConfig.isLogging==true) {
        DialogResult dialogResult = MessageBox.Show("Opening print tool will stop data logging. Proceed?", "Print Dialog", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
        if (dialogResult == DialogResult.Yes) {
            LogConfig.isLogging = false;
            XtraReport1 report = new XtraReport1();
            var reportDataSource = BindToData();
            report.DataSource = reportDataSource;
            // 这里改成查询的名称,而不是表名
            report.DataMember = "customQuery"; 
            ReportPrintTool printTool = new ReportPrintTool(report);
            printTool.ShowPreview();
        }
    }
}

额外优化建议

为了避免硬编码查询名称带来的维护问题,你可以把查询名称做成一个常量,或者直接从返回的SqlDataSource中获取查询名称:

// 在BindToData里定义常量
private const string ReportQueryName = "customQuery";

private SqlDataSource BindToData() {
    SQLiteConnectionParameters connectionParameters = new SQLiteConnectionParameters("UTDR_LOGS_DB.db", "");
    SqlDataSource ds = new SqlDataSource(connectionParameters);
    CustomSqlQuery query = new CustomSqlQuery();
    query.Name = ReportQueryName;
    query.Sql = $"SELECT * FROM {tblName}";
    ds.Queries.Add(query);
    ds.RebuildResultSchema();
    return ds;
}

// 然后在设置DataMember时用这个常量
report.DataMember = ReportQueryName;

验证要点

  1. 确保ds.RebuildResultSchema()执行成功,这一步会加载查询返回的字段结构,让报表控件能正确识别绑定的列。
  2. 确认你的SELECT * FROM {tblName}查询返回的列和报表设计时XRLabel绑定的列名完全一致,大小写也要注意(SQLite默认不区分,但最好保持一致)。

这样修改后,报表应该就能正确加载数据并显示了!

内容的提问来源于stack exchange,提问作者cgaskey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 22:07:35