我正在创建一个会计/产品管理程序,我遇到代码问题,应该在数据网格视图中过滤我的数据库内容:
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获取了这些代码,所以我不明白为什么它不起作用......
答案 0 :(得分:1)
在第二个例子中你得到了
ObjectQuery<TblProduct> filProd = new ObjectQuery<TblProduct>("SELECTED VALUE P FROM TblProduct AS P", salon);
和SELECTED是错误的。应该是SELECT
第一个似乎没问题。尝试更改并检查它是否运行
同样在教程中,查询中的表是“TblProducts”而不是“TblProduct”。