为什么以下sql查询会生成SQL执行错误

时间:2013-11-06 09:57:18

标签: sql visual-studio-2012 sql-server-ce

我首先使用Entity Framework 6代码生成数据库。

从Visual Studio Express 2012 for Windows Desktop运行以下查询时

select * from calibrations

Visual Studio将其更改为:

SELECT        Id, CertificateNumber, Slope, Offset, Correlation, Covariance, Anemometer_Id, ApprovedBy_Id, Batch_Id, CertificateSoftware_Id, CollectionSoftware_Id, 
                     ControlAnemometer_Id, Operator_Id, Type_Id
FROM            Calibrations

它会出现以下错误:

**strong text**

如果我然后通过将SQL Query更改为:

来删除Offset列
SELECT        Id, CertificateNumber, Slope, Correlation, Covariance, Anemometer_Id, ApprovedBy_Id, Batch_Id, CertificateSoftware_Id, CollectionSoftware_Id, 
                     ControlAnemometer_Id, Operator_Id, Type_Id
FROM            Calibrations

完成时没有错误。

我正在使用SQL Server CE。 Offset列是表格的一部分。

我找不到有关Offset是关键字的任何信息。但我试图在Offset附近设置方括号,如:

SELECT        Id, CertificateNumber, Slope, [Offset], Correlation, Covariance, Anemometer_Id, ApprovedBy_Id, Batch_Id, CertificateSoftware_Id, CollectionSoftware_Id, 
                     ControlAnemometer_Id, Operator_Id, Type_Id
FROM            Calibrations

这没有帮助。

我试图更改POCO中的名称:

SELECT        Id, CertificateNumber, Slope, IsThisNameTheProblem, Correlation, Covariance, Anemometer_Id, ApprovedBy_Id, Batch_Id, CertificateSoftware_Id, 
                     CollectionSoftware_Id, ControlAnemometer_Id, Operator_Id, Type_Id
FROM            Calibrations

这个有效!为什么呢?

1 个答案:

答案 0 :(得分:0)

OFFSET是一个保留字,如此处所述(拼写错误)http://technet.microsoft.com/en-us/library/ms173340.aspx,并用括号括起来解决问题。不知道为什么“这对你没有帮助”,因为我无法重复。