2010-05-24 20 views
1

我正在執行良好的SQL的Visual Studio中出現惱人的錯誤。有效SQL上的Visual Studio錯誤

SELECT InvoiceLines.LineID, 
     InvoiceLines.InvoiceID, 
     InvoiceLines.Text, 
     InvoiceLines.Rate, 
     InvoiceLines.Count, 
     InvoiceLines.Rate * InvoiceLines.Count AS LineTotal, 
     ((InvoiceLines.Rate * InvoiceLines.Count) * (1 + Invoices.VatRate/100)) * (1 - CAST(Invoices.Discount AS money) * InvoiceLines.ApplyDiscount/100) AS LineTotalIncVat, InvoiceLines.ApplyDiscount 
    FROM InvoiceLines 
LEFT JOIN Invoices ON Invoices.InvoiceID = InvoiceLines.InvoiceID 

什麼LineTotalIncVat正在試圖做的是計算總髮票項,同時增加增值稅和減去折扣,是的,可能會更好(如果我能會)在代碼中做到這一點

誤差視覺工作室給出爲:

有解析查詢的誤差[令牌行號= 1,令牌行偏移= 14,令牌錯誤= InvoiceLines]

即使它會驗證並沒有在查詢生成器有問題執行...

+0

你能發佈用於執行sql的代碼嗎... – 2010-05-24 15:45:42

+0

它是通過數據集生成器嚮導完成的(它很痛苦) – Sam 2010-05-24 15:46:58

回答

0

解決

從數據集中刪除該表並具有完全相同的SQL再次添加它。

多麼奇怪......雖然不是我第一次必須這樣做。

3

嘗試包圍表和列的名稱,它可能會遇到問題解析InvoiceLines.Count因爲Count是一個保留字。嘗試[InvoiceLines].[Count]

+0

+1絕對值得嘗試 – oedo 2010-05-24 15:52:35

+0

另外'Text'可以是保留關鍵字。保留關鍵字集取決於使用的數據庫驅動程序。 – Guffa 2010-05-24 16:12:27

+0

沒有工作,查詢生成器將它們剝離出來:( – Sam 2010-05-24 16:55:54