2012-12-04 35 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