我正在使用:
我有这些表:
tbl_01_Groups
表显示在dataGridView1
中。一个学生可以分成几组。 要解决此问题,我怀疑有必要建立关系表tbl_03_GroupsStud
。
问题::如何使dataGridView2显示table_2
条记录,这些记录属于dataGridView1中选定的组?
table_2
的要求:
table_2
应包含以下字段:
如果在table_2
记录中进行了更改,则这些更改将显示在原始源中;
table_2
,则该条目将显示在源中; Table_2
用于另一个查询。 如何使table_2
满足以上要求?
我的代码:
ContextDB cntxtDB;
public Frm1UC()
{
InitializeComponent();
cntxtDB = new ContextDB();
}
private void Frm1UC_Load(object sender, EventArgs e)
{
Fill_dataGridView1();
}
public void Fill_dataGridView1()
{
try
{
cntxtDB.tbl_01_Groups.Load();
bs_Grid1.DataSource = cntxtDB.tbl_01_Groups.Local.ToBindingList();
dataGridView1.DataSource = bs_Grid1;
}
catch (Exception ex)
{
string s = ex.Message;
string t = ex.StackTrace;
// throw;
MessageBox.Show(s);
}
}
tbl_01_Groups
:
tbl_02_Students
:
tbl_03_GroupsStud
:
dataGridView1, dataGridView2
:
更新_1
就像我设法借助MSAccess中的查询一样:
请求req_GroupsStud_Stud
:
SELECT tbl_03_GroupsStud.*, tbl_02_Students.NameStud
FROM tbl_03_GroupsStud
INNER JOIN tbl_02_Students
ON tbl_03_GroupsStud.id_stud = tbl_02_Students.id_stud;
请求req_GroupsStud_CurGroup
:
SELECT req_GroupsStud_Stud.*, req_GroupsStud_Stud.id_group
FROM req_GroupsStud_Stud
WHERE (((req_GroupsStud_Stud.id_group)=[Forms]![frm_00_00_MainForm]![id_group_Frm]));
在表单中,使用表达式[Forms]![Frm_00_00_MainForm]![Id_group_Frm]
,将参数[id_group_Frm]
传递给请求。
我不明白如何使用实体框架和MS SQL Serever做同样的事情。