C# 是否从内部联接表中检索列数据?
我试图选择一个表上的所有(*)数据列,并通过内部连接另一个表来获取菜单项名称。请看一下我的问题C# 是否从内部联接表中检索列数据?,c#,mysql,C#,Mysql,我试图选择一个表上的所有(*)数据列,并通过内部连接另一个表来获取菜单项名称。请看一下我的问题 string query = "SELECT ol.*, m.menu_name " + "FROM orderlist ol " + "INNER JOIN menudb m " + "ON m.menu_ID = ol.menu_ID " + "WHERE ol.orde
string query = "SELECT ol.*, m.menu_name " +
"FROM orderlist ol " +
"INNER JOIN menudb m " +
"ON m.menu_ID = ol.menu_ID " +
"WHERE ol.order_ID = @orderID";
使用dr[“menu\u name”]检索m.menu\u name时,我似乎无法获取它。ToString()
你知道为什么吗
订单列表表列
orderlist\u ID
订单ID
菜单ID
订单数量
menudb表列
菜单标识
菜单名称
菜单价格
菜单描述
菜单类别
菜单状态
您在ol.菜单标识
后错过了s空格
"ON m.menu_ID = ol.menu_ID "+
您在ol.menu\u ID
之后错过了s空格
"ON m.menu_ID = ol.menu_ID "+
您的查询中存在许多问题
首先,由于关键字之间缺少空格,出现语法错误
"ON m.menu_ID = ol.menu_ID" + // << HERE
"WHERE ol.order_ID = '@orderID'";
第二个,如果将查询参数化,则不应使用单个引号包装参数。这将使其成为字符串而不再是参数
"WHERE ol.order_ID = @orderID"; // remove single quote
您的查询中存在许多问题
首先,由于关键字之间缺少空格,出现语法错误
"ON m.menu_ID = ol.menu_ID" + // << HERE
"WHERE ol.order_ID = '@orderID'";
第二个,如果将查询参数化,则不应使用单个引号包装参数。这将使其成为字符串而不再是参数
"WHERE ol.order_ID = @orderID"; // remove single quote
你能展示这两个表的结构吗:orderlist
和menudb
?我知道了,伙计:)谢谢。你能展示这两个表的结构吗:orderlist
和menudb
?我知道了,伙计:)非常感谢