C# LINQ查询帮助
我试图根据相应的键检索列 “从菱形中选择*,其中p_Id=“+p_Id 我遵循MSDN示例,他们是这样做的:C# LINQ查询帮助,c#,database,linq-to-sql,C#,Database,Linq To Sql,我试图根据相应的键检索列 “从菱形中选择*,其中p_Id=“+p_Id 我遵循MSDN示例,他们是这样做的: CurrencyManager cm = ((CurrencyManager)this.BindingContext[myDatabaseDataSet, "Items.ItemDiamond"]); IBindingList list = (IBindingList)cm.List; 但列表的相关视图数据只返回p_Id=1的数据。怎么了 完整代码:
CurrencyManager cm = ((CurrencyManager)this.BindingContext[myDatabaseDataSet, "Items.ItemDiamond"]);
IBindingList list = (IBindingList)cm.List;
但列表的相关视图数据只返回p_Id=1的数据。怎么了
完整代码:
private void Viewdiamonds(int p_Id)
{
this.Cursor = Cursors.WaitCursor;
frmDiamond frmd = new frmDiamond();
CurrencyManager cm = ((CurrencyManager)this.BindingContext[myDatabaseDataSet, "Items.ItemDiamond"]);
IBindingList list = (IBindingList)cm.List;
frmd.ShowDialog(p_Id, this, list);
this.Cursor = Cursors.Default;
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1 && e.RowIndex != -1 && !dataGridView1.Rows[e.RowIndex].IsNewRow)
{
DataGridViewCell cell = this.dataGridView1[e.ColumnIndex - 1, e.RowIndex];
int p_Id = Convert.ToInt32(cell.Value);
this.Viewdiamonds(p_Id);
}
}
编辑:
我有两个相关的专栏,Items和Diamond。我有一个datagridview控件,它显示Items表中的数据。我添加了LinkView类型的列,因此当用户单击ViewDiamond时,会弹出一个新表单并显示与该项目相关的菱形。我查看了MSDN DataGridView控件示例,他们使用上面的代码实现了该示例。我对代码做了一些调整以适应我的应用程序。上面的代码怎么了?因为它似乎无法根据其相对p_Id显示数据。或者我认为p_Id有问题,无论其值如何,Currency manager似乎只检索与p_Id=1对应的数据
我希望这能澄清问题。没关系,我是用sql rdr做的:
BindingSource bs = new BindingSource();
string connstring = "Data Source=MyDatabase.sdf;Persist Security Info=False";
string sqlqry = "SELECT * from diamond where p_Id=" + p_Id;
SqlCeConnection conn = new SqlCeConnection(connstring);
SqlCeCommand cmd = new SqlCeCommand(sqlqry, conn);
conn.Open();
SqlCeDataReader rdr = cmd.ExecuteReader();
bs.DataSource = rdr;
rdr.Close();
conn.Close();
在MyDbContext.diamond中,使用linq的等价物是什么?var result=from d,其中d.p\u Id==p\u Id选择d;是的,我也这么认为,但无法将其绑定到我的datagridview。我尝试将其绑定到列表,然后从dgv读取列表,但无法。你知道怎么做吗?好的,这是:var qry=来自myDatabaseDataSet中的d.Diamond,其中d.p_Id==p_Id选择d;bs.DataSource=qry.AsDataView();