2012-12-04 34 views
1

我正在做一個標準的練習,其中在gridview中顯示三個表的字段,但是在我的內部聯接語句中有一個語法錯誤。在GridView中顯示數據庫字段的語法錯誤

任何建議可能在語法錯誤的地方。

try 
    { 
     conn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0; 
           Data Source =" + Server.MapPath("App_Data\\Shopping List.mdb")); 
     conn.Open(); 

     DataSet ds = new DataSet(); 

     OleDbDataAdapter dba = new OleDbDataAdapter(@"SELECT Ingredient.IngerdientId, Ingredient.IngredientName, Area.AreaName, Recipe.RecipeName, Ingredient.Quantity 
               FROM Ingredient 
               INNER JOIN Area ON Ingredient.AreaId = Area.AreaId 
               INNER JOIN Recipe ON Ingredient.RecipeId = Recipe.RecipeId", conn); 

     dba.Fill(ds); 

     gridIngredients.DataSource = ds; 
     gridIngredients.DataBind(); 
    } 
    catch (Exception exe) 
    { 
     labMessage.Text = exe.Message; 

    } 
+0

它會拋出什麼錯誤? –

+0

看起來你在SELECT部分​​拼錯了'IngerdientId'。 – dash

回答

2

的Access數據庫引擎需要括號當你FROM子句包含多個連接。我認爲這可能會實現,但如果可以的話,最好在Access中使用其查詢設計器來構建和測試您的SELECT語句。

FROM (Ingredient 
INNER JOIN Area ON Ingredient.AreaId = Area.AreaId) 
INNER JOIN Recipe ON Ingredient.RecipeId = Recipe.RecipeId 
+0

謝謝,那確實有竅門 – Arianule