在gridview中显示数据库字段的语法错误

时间:2012-12-04 16:53:46

标签: c# ms-access relational-database oledbconnection

我正在做一个标准练习,在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; 

    }

1 个答案:

答案 0 :(得分:2)

FROM子句包含多个连接时,Access数据库引擎需要括号。我认为这可能会这样做,但如果可以,最好使用其查询设计器在Access中构建和测试SELECT语句。

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