都已经说的很明白了,列名 'foodnum' 不明确,menu.foodnum,lishi.foodnum 你确认你的列名

解决方案 »

  1.   

    已经写明白了的阿?查询语句中不是写的很清楚阿SELECT menu.foodnum,menu.hearth,menu.menu,assort.leiming,menu.price,menu.re,lishi.sheng  From menu,assort, lishi where menu.foodnum=lishi.foodnum and menu.assort=assort.bianhao and code=@code and dinning=@dinning and sign='1' 并且在sql server的查询分析器中能够正常执行
      

  2.   

    检查一下你的dataset里面的字段名称和你的Sql语句总的字段名称是否一致,然后是顺序是不是一样
      

  3.   

    SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter ( "SELECT menu.foodnum,menu.hearth,menu.menu,menu.price,menu.re,lishi.sheng  From menu,lishi where menu.foodnum=lishi.foodnum and code=@code and dinning=@dinning and sign='1'", sqlConnection1 ) ;
          DataSet dataSet1 = new DataSet ( ) ;
          sqlDataAdapter1.SelectCommand.Parameters.Add("@code", SqlDbType.Char, 10).Value = (TextBox1.Text.Trim());
          sqlDataAdapter1.SelectCommand.Parameters.Add("@dinning", SqlDbType.Char, 30).Value = (TextBox2.Text.Trim());
          sqlDataAdapter1.Fill ( dataSet1 , "menu" ) ;
          //以SqlDataAdapter实例来填充本地DataSet数据集
          DataGrid1.DataSource = dataSet1.Tables["menu"].DefaultView;
          DataGrid1.DataBind();
    就是查询两个表我不知道怎么查询,我这段代码就出现问题:
       选定数据源上未能找到名称为“menu.foodnum”的字段或属性。 
        我的menu.foodnum是menu表的foodnum.在datagrid中的代码为:
        sp:BoundColumn DataField="menu.foodnum" HeaderText="编号"></asp:BoundColumn>
    <asp:BoundColumn DataField="dinning" HeaderText="餐厅"></asp:BoundColumn>
    <asp:BoundColumn DataField="menu" HeaderText="菜名"></asp:BoundColumn>
    <asp:BoundColumn DataField="assort.leiming" HeaderText="类名"></asp:BoundColumn>
    <asp:BoundColumn DataField="lishi.sheng" HeaderText="分数"></asp:BoundColumn>