【问题标题】:Error occuring in Select Into StatementSelect Into 语句中发生错误
【发布时间】:2017-05-09 03:56:13
【问题描述】:

我有以下语句,它在“From”子句中有语法错误,它有几个卷曲的表名。实际的数据库名称与表相同,因此它们都是独立的。

我打开一个到 SealRegister mdb 的连接,它是空的(还没有表),然后在语句上执行 ExecuteNonQuery。我认为这应该在 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 = "提供者=Microsoft.ACE.OLEDB.12.0;数据 来源=C:\AR\TEMP\SealRegister.mdb"

【问题讨论】:

  • 你有什么错误。您使用的是哪个驱动程序?
  • 弹出上面的连接字符串
  • 为什么使用特殊操作符作为数据库名称?可能您需要使用方括号来包装这些名称,例如:FROM [C:\AR\Plant\Accounting\2015].[ARPlntPA_2015_07-2016_06+10yrs] AS A-+ 符号分别为 SQL 中的减号和加号运算符保留,因此您不能直接将其用作不带括号的表名。
  • 什么是错误??访问如果我没记错你还需要在括号中嵌套连接:select a from (t1 inner join t2 on ...) t3 inner join t4 on ...

标签: c# sql ms-access oledbconnection executenonquery


【解决方案1】:

这行得通:

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'";

【讨论】:

    猜你喜欢
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 2011-01-22
    • 2016-03-20
    相关资源
    最近更新 更多