【问题标题】:C# Query with Linq for datatableC# 使用 Linq 查询数据表
【发布时间】:2019-05-19 07:26:06
【问题描述】:

我正在使用导入的 Excel 文件中的数据,但我的查询有问题,我想知道它是否需要数据库,或者我可以通过将数据存储在数据表上并在那里处理查询来完成。 我在 windows 窗体上的查询中添加了按钮的代码:

private void btnCompare1_Click(object sender, EventArgs e)
        {
            try
            {
                query = from dt1
                        join dt2 on dt1.TELEFONO equals dt2.TELEFONO
                        select new
                        {
                            dt1.FOLIO_FACTURA,
                            dt1.CONCEPTO,
                            dt1.FECHA_PUBLICACION,
                            dt1.PERIODO,
                            dt1.TELEFONO,
                            dt1.MONTO,
                            dt1.FECHA_MOVIMIENTO
                        };

                dataGridView3.DataSource = query;
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

【问题讨论】:

  • 我们无法告诉您是否需要数据库。您是否这样做主要不取决于您在这里做什么,而是取决于是否需要将数据存储得比应用程序的生命周期更长。此外,您需要详细说明“我的查询存在问题”。
  • 感谢您的建议。

标签: c# linq datatable


【解决方案1】:

LINQ 语法是这样的

from row in table select /*something*/

你写的:

from row select   /*something*/

所以您的查询应该看起来更像:

private void btnCompare1_Click(object sender, EventArgs e)
        {
            try
            {
                query = from row1 in dt1
                        join row2 in dt2 on row1.TELEFONO equals row2.TELEFONO
                        select new
                        {
                            row1.FOLIO_FACTURA,
                            row1.CONCEPTO,
                            row1.FECHA_PUBLICACION,
                            row1.PERIODO,
                            row1.TELEFONO,
                            row1.MONTO,
                            row1.FECHA_MOVIMIENTO
                        };

                dataGridView3.DataSource = query;
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

【讨论】:

  • 现在我有这个错误:错误 CS1936 没有为源类型“DataTable”找到查询模式的实现。未找到“加入”。我已经查看了指令
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-10
  • 1970-01-01
  • 1970-01-01
  • 2014-04-15
相关资源
最近更新 更多