2016-03-24 69 views
0

我發現了一個異常錯誤說缺少運營商誰能幫助ADO.NET與SQL和數據庫

string sql = "Select SalesPerson.Name, Item.Description, Orders.Quantity, Orders.OrderDate" 
       + "From([Orders]" 
       + "Inner Join[SalesPerson] On Orders.SalesPersonID=SalesPerson.SalesPersonID)" 
       + "Inner Join[Item] On Orders.ItemNumber=Item.ItemNumber" 
       + "Where [email protected] Order by Orders.OrderDate DESC"; 

回答

1

你需要在每個SQL的行的末尾添加一些空間工作!

string sql = "SELECT SalesPerson.Name, Item.Description, Orders.Quantity, Orders.OrderDate " 
       + "FROM [Orders] " 
       + "INNER JOIN [SalesPerson] ON Orders.SalesPersonID = SalesPerson.SalesPersonID " 
       + "INNER JOIN [Item] ON Orders.ItemNumber = Item.ItemNumber " 
       + "WHERE Orders.CustomerID = @customer " 
       + "ORDER BY Orders.OrderDate DESC"; 

否則,你的SQL最終被

Select ..... Orders.OrderDateFROM([Orders]Inner Join[SalesPerson] ..... 

等等 - 而這只是有效的SQL。

我也刪除圍繞JOIN運營商一些不必要的括號 - 那些只需要的MS Access,但因爲你說你正在使用ADO.NET,我想這是的MS Access,因此,那些括號是不需要的

+0

這是一個巨大的幫助謝謝 – Tom632