使用ObjectQuery <t>错误</t>进行过滤

时间:2014-08-13 16:28:00

标签: c# syntax error-handling syntax-error

我正在创建一个会计/产品管理程序,我遇到代码问题,应该在数据网格视图中过滤我的数据库内容:

private void List(object sender, EventArgs e)
    {
        ObjectQuery<TblProduct> filteredProducts = new ObjectQuery<TblProduct>(
            "SELECT VALUE P FROM TblProduct AS P WHERE P.ProductType = " + comboBox1.SelectedValue, salon);

        dataGridView1.DataSource = filteredProducts;
    }

我再次使用几乎相同的代码,它几乎完全相同 - 过滤广告对我的产品进行排序并为每个产品创建按钮:

 private void AddProductsToTabbedPanel()
    {
        foreach (TabPage tp in tabControl1.TabPages)
        {
            ObjectQuery<TblProduct> filProd = new ObjectQuery<TblProduct>("SELECTED VALUE P FROM TblProduct AS P", salon);

            foreach (TblProduct tprod in filProd)
            {
                Button b = new Button();
                b.Text = tprod.Description;
                tp.Controls.Add(b);

            }
        }
    }

在这两种情况下我都收到错误,告诉我,EtitySqlException已被删除,并且语法有些错误。

我从一个tutorial获取了这些代码,所以我不明白为什么它不起作用......

1 个答案:

答案 0 :(得分:1)

在第二个例子中你得到了

ObjectQuery<TblProduct> filProd = new ObjectQuery<TblProduct>("SELECTED VALUE P FROM TblProduct AS P", salon);

和SELECTED是错误的。应该是SELECT

第一个似乎没问题。尝试更改并检查它是否运行

同样在教程中,查询中的表是“TblProducts”而不是“TblProduct”。