C# C中的MySQL内部连接语法错误
有人知道为什么会有语法错误吗?我想里面没有保留的词对吧 C命令C# C中的MySQL内部连接语法错误,c#,mysql,C#,Mysql,有人知道为什么会有语法错误吗?我想里面没有保留的词对吧 C命令 cmd.CommandText = "SELECT ordertable._name, ordertable.quantity, food_menu.food_price, beverage_menu.beverage_price" + "FROM ordertable" + "INNER JOIN food_menu ON orde
cmd.CommandText = "SELECT ordertable._name, ordertable.quantity, food_menu.food_price, beverage_menu.beverage_price" +
"FROM ordertable" +
"INNER JOIN food_menu ON ordertable._name = food.foodname" +
"INNER JOIN beverage_menu ON beverage_menu.beverage_name' = ordertable._name" +
"WHERE ordertable.tablenum = '1'";
错误:
您的SQL语法有错误;检查手册
对应于您的MySQL服务器版本,以便使用正确的语法
在ordertable上的“JOIN food”菜单附近。\u name=food.foodnameINNER JOIN
第1行be上的饮料菜单
您缺少空格。目前,您的查询将类似于来自ordertableINNER的“加入食物”菜单。。。。您可以使用多行语法使其更简单
cmd.CommandText = @"SELECT ordertable._name, ordertable.quantity, food_menu.food_price, beverage_menu.beverage_price
FROM ordertable
INNER JOIN food_menu ON ordertable._name = food_menu.foodname
INNER JOIN beverage_menu ON beverage_menu.beverage_name = ordertable._name
WHERE ordertable.tablenum = 1";
如果从字符串中删除不必要的连接,则会出现错误,因为您的查询需要一些在连接之前未指定的空格
cmd.CommandText = "SELECT ordertable._name,
ordertable.quantity,
food_menu.food_price,
beverage_menu.beverage_price
FROM ordertable
INNER JOIN food_menu
ON ordertable._name = food.foodname
INNER JOIN beverage_menu
ON beverage_menu.beverage_name = ordertable._name
WHERE ordertable.tablenum = 1";
您不需要在饮料菜单上使用单引号。饮料名称。ordertable.tablenum也是字符类型的吗?你还需要在每行的末尾留一个空格。好的。。我发现了问题并解决了它。但为什么我的DGV中没有显示数据?@woo4896这是另一个问题,如果不看到代码和数据库内容,就无法回答。如果你有问题,你可以问另一个问题。我以前也遇到过这个问题。当我将SELECT*从ordertable中放入其中tablenum='1'时,DGV显示数据。但是,当我将SELECT*从ordertable中放入其中tablenum='1',status='1'时,DGV中没有显示任何数据。但我不知道为什么。我在问这个问题之前问过。看这个