C# 在ACCESS中显示来自多个源的DataGridView
我想显示一个DataGridView,它的数据来自一个表,并从ACCESS数据库的另一个表中添加一个额外的列 这是我的代码:C# 在ACCESS中显示来自多个源的DataGridView,c#,sql,ms-access,join,datagridview,C#,Sql,Ms Access,Join,Datagridview,我想显示一个DataGridView,它的数据来自一个表,并从ACCESS数据库的另一个表中添加一个额外的列 这是我的代码: string PathDB6 = Application.StartupPath + @"\PcStore.ACCDB"; OleDbConnection connection6 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PathDB6 + ";Persist Sec
string PathDB6 = Application.StartupPath + @"\PcStore.ACCDB";
OleDbConnection connection6 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PathDB6 + ";Persist Security Info=False;");
OleDbDataAdapter ada6 = new OleDbDataAdapter("SELECT * FROM CustomersOrdersDetail", connection6);
DataSet set6 = new DataSet();
ada6.Fill(set6, "CustomersOrdersDetail");
tabSearchCustomerOrder = new DataTable();
tabSearchCustomerOrder = set6.Tables["CustomersOrdersDetail"];
dgvCustomerOrderDetail.DataSource = tabSearchCustomerOrder;
dgvCustomerOrderDetail.Sort(dgvCustomerOrderDetail.Columns["OrderID"], ListSortDirection.Ascending);
dgvCustomerOrderDetail.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
但是我不知道如何从另一个表中选择一个额外的列到我上面提到的dgvCustomerOrderDetail的DataGridView
我在c中使用OLEDB
先谢谢你
我的表格和字段:
表1:客户订单详情 表2:客户订单
在我的dgv中,我拥有表CustomerOrdersDetail的所有数据,我想将从第二个表中批准的列Worker添加到该表中。为了能够在DataGridView中显示额外的列,您需要相应地更新SQL以拥有该其他列 例如,考虑到您的第二个表是Customers表,并且您希望将此客户的电子邮件地址显示为附加列:
string sql = "SELECT CustomersOrdersDetail.*, Customers.Email
FROM CustomersOrdersDetail INNER JOIN Customers on CustomersOrdersDetail.ID = Customers.ID";
您可以在上了解更多信息
填充数据集后,您应该会看到附加的电子邮件列
因此,在您的情况下,未检查:
string sql = "SELECT CustomersOrdersDetail.*, CustomersOrders.WorkerApproved
FROM CustomersOrdersDetail INNER JOIN CustomersOrders on
CustomersOrdersDetail.CustomerID = CustomersOrders.CustomerID AND
CustomersOrdersDetail.OrderID = CustomersOrders.OrderID";
为了能够向DataGridView显示额外的列,您需要相应地更新SQL以拥有这个其他列 例如,考虑到您的第二个表是Customers表,并且您希望将此客户的电子邮件地址显示为附加列:
string sql = "SELECT CustomersOrdersDetail.*, Customers.Email
FROM CustomersOrdersDetail INNER JOIN Customers on CustomersOrdersDetail.ID = Customers.ID";
您可以在上了解更多信息
填充数据集后,您应该会看到附加的电子邮件列
因此,在您的情况下,未检查:
string sql = "SELECT CustomersOrdersDetail.*, CustomersOrders.WorkerApproved
FROM CustomersOrdersDetail INNER JOIN CustomersOrders on
CustomersOrdersDetail.CustomerID = CustomersOrders.CustomerID AND
CustomersOrdersDetail.OrderID = CustomersOrders.OrderID";
内部联接:只要公共字段中有匹配的值,就合并两个表中的记录。我没有一个公共字段,那么我能做什么呢?如果没有任何公共字段,那么如何关联来自两个不同表的两条记录。我不清楚,请发布相关表格及其字段,以便我能提供帮助。不是这样,请更新您的帖子。对于每个表,列出相关字段并对每个表进行简短说明。表号1:客户订单明细表号2:客户订单在我的dgv中我有表CustomerOrdersDetail的所有数据,我想将表2中批准的列WorkerApproved添加到该列中。常用字段是CustomerID和OrderID。内部联接:只要公共字段中有匹配的值,就合并两个表中的记录。我没有一个公共字段,那么我能做什么呢?如果没有任何公共字段,那么如何关联来自两个不同表的两条记录。我不清楚,请发布相关表格及其字段,以便我能提供帮助。不是这样,请更新您的帖子。对于每个表,列出相关字段并对每个表进行简短说明。表号1:客户订单明细表号2:客户订单在我的dgv中我有表CustomerOrdersDetail的所有数据,我想将表2中批准的列WorkerApproved添加到表中。常用字段是CustomerID和OrderID。