C# Select Into语句中出现错误

C# Select Into语句中出现错误,c#,sql,ms-access,oledbconnection,executenonquery,C#,Sql,Ms Access,Oledbconnection,Executenonquery,下面的语句在'From'子句中有一个语法错误,它有两个卷曲的表名。实际的数据库名称与表相同,因此它们都是分开的 我打开到SealRegister mdb的连接,它是空的(还没有表),然后对语句执行ExecuteOnQuery。我认为这应该在SealRegister.mdb中创建SealRegister表 sqlcommand = @"Select ""Plant"" As Geometry, A.Asset_ID, B.RoadID, A.AssetType, B.RoadName, B.Seg

下面的语句在'From'子句中有一个语法错误,它有两个卷曲的表名。实际的数据库名称与表相同,因此它们都是分开的

我打开到SealRegister mdb的连接,它是空的(还没有表),然后对语句执行ExecuteOnQuery。我认为这应该在SealRegister.mdb中创建SealRegister表

sqlcommand = @"Select ""Plant"" As Geometry, A.Asset_ID, B.RoadID, A.AssetType, B.RoadName, B.SegmentNo, C.AadtCount, C.CommVehCnt " +
  @"Into [SealRegister] " +
    @"From [C:\AR\Plant\Accounting\2015].ARPlntPA_2015_07-2016_06+10yrs As A " +
      @"LEFT OUTER JOIN ([C:\AR\Lines\Accounting\2015].ARLnPA_2015_07-2016_06+10yrs As B " +
        @"LEFT OUTER JOIN [C:\AR\Lines\TEMP].ARLnX As C On B.Asset_ID = C.Asset_ID) On A.Parent_ID = B.Asset_ID " +
          @"WHERE AssetType = 'Wearing Course'";
我需要做什么来更正语法

[编辑]

connStr=“Provider=Microsoft.ACE.OLEDB.12.0;数据 Source=C:\AR\TEMP\SealRegister.mdb“

这项工作:

sqlcommand = @"Select ""Plant"" As Geometry, A.Asset_ID, B.RoadID, A.AssetType, B.RoadName, B.SegmentNo, C.AadtCount, C.CommVehCnt " +
  @"Into [SealRegister] " +
    @"From [C:\AR\Plant\Accounting\2015\ARPlntPA_2015_07-2016_06+10yrs].[ARPlntPA_2015_07-2016_06+10yrs] As A " +
      @"LEFT OUTER JOIN ([C:\AR\Lines\Accounting\2015\ARLnPA_2015_07-2016_06+10yrs].[ARLnPA_2015_07-2016_06+10yrs] As B " +
        @"LEFT OUTER JOIN [C:\AR\Lines\TEMP].ARLnX As C On B.Asset_ID = C.Asset_ID) On A.Parent_ID = B.Asset_ID " +
          @"WHERE AssetType = 'Wearing Course'";

你的错误是什么。您正在使用哪个驱动程序?弹出上面的连接字符串为什么使用特殊运算符字符作为DB名称?您可能需要使用方括号来包装这些名称,例如:[C:\AR\Plant\Accounting\2015].[ARPlntPA\U 2015\U 07-2016\U 06+10yrs]中的
-
+
分别为SQL中的减号和加号运算符保留了符号,因此您不能在没有括号的情况下将其直接用作表名。错误是什么?在访问时,如果我记得正确,您还需要在括号中嵌套联接:
从中选择一个(t1内部联接t2打开…)t3内部联接t4打开…