【发布时间】:2018-01-18 07:33:27
【问题描述】:
我有名为mer_SVC 的excel 表和名为GIS 的MS Access 数据库表。我想根据字段Account No 找到不匹配的。我已经从设计视图生成了sql 查询(如下所示)通过在访问表中导入 excel 工作表。
我正在使用 Visual Studio 2015 在数据网格视图中显示输出。现在使用两个 OleDbConnection 我如何生成上述查询。 查询语法错误即将到来。
string stringconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
textselect.Text + ";" + "Extended Properties='Excel 8.0;HDR=YES;'";
OleDbConnection conn = new OleDbConnection(stringconn);
string stringcon = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source =
C:\Users\GIS\Documents\Match.accdb;";
OleDbConnection conn1 = new OleDbConnection(stringcon);
string path = @"F:\RAEC\RAECOEXCEL\Customer Data from CRM -
Copy.XLSX" + " Excel 8.0";
string query = "Select * from [mer_SVC$] IN" + path + " LEFT JOIN
GIS ON Account No From [mer_SVC$] IN" + "path " + " =
GIS.[Account No] WHERE (((GIS.[Account No]) Is Null))";
OleDbDataAdapter da = new OleDbDataAdapter(query, conn1);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
【问题讨论】:
-
艺术最起码你需要在两个 IN 之后的空格。我现在下班,这里是晚上 8.25,但你们还没修好,我早上试试
-
你试过了吗?
-
抱歉被拖走了!现在看看
标签: c# sql excel ms-access datatable