C# Mysql带空格的内部联接列
我有两个表,分别是客户表和订单表。 基本上我的问题是,它总是给我一个错误,那就是“未知字段列表”。 我在phpmyadmin XAMPP中尝试过它,但唯一的问题是,当我在VS studio c中使用它时,它会给我一个错误。 我搞不懂反勾号“不起作用,但反勾号在本地主机上起作用。 请帮帮我 这是我的sql语法:C# Mysql带空格的内部联接列,c#,mysql,sql,C#,Mysql,Sql,我有两个表,分别是客户表和订单表。 基本上我的问题是,它总是给我一个错误,那就是“未知字段列表”。 我在phpmyadmin XAMPP中尝试过它,但唯一的问题是,当我在VS studio c中使用它时,它会给我一个错误。 我搞不懂反勾号“不起作用,但反勾号在本地主机上起作用。 请帮帮我 这是我的sql语法: SQL = "SELECT o.`Order ID`, o.Description, o.Amount FROM tbl_orders AS o I
SQL = "SELECT o.`Order ID`, o.Description, o.Amount
FROM tbl_orders AS o
INNER JOIN tbl_customers AS c ON o.`Order ID` = c.`Order ID`
WHERE c.`Customer ID` = '" + cust_id + "'";
cmd.Connection = dbCon;
cmd.CommandText = SQL;
rdr= cmd.ExecuteReader();
dt.Load(rdr);
已尝试在列名周围删除并重新键入`以防复制不正确。也可以尝试在字符串前面加一个@,这样做
SQL = @"<the sql>";
名称中带有空格的列应括在方括号中 试一试
您的数据库引擎是SQL Server还是MySQL?我的数据库引擎是MySQL。反勾号在本地主机上工作。但在VS studio中,它给了我一个错误。我很困惑。Geez.ok我将重新创建此场景,并在几分钟后回复您MySql.Data.MySqlClient.MysqlException:field list中的未知列'o.Order ID'您使用的sqlServer版本是什么?我使用的是XAMPP MySql。。MySql.Data.MySqlClient.MySqlException:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在“[Order ID]”附近使用的正确语法……我不知道为什么它在我的电脑上不起作用,但感谢您的帮助,我非常感谢。我想我会使用嵌套查询。MySql.Data.MySqlClient.MySqlException:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在“[Order ID]”附近使用的正确语法……您可以在设置别名时尝试删除AS吗。所以就。。。从tbl_订单到内部加入tbl_客户c…backticks可以在本地主机上工作我只是不知道为什么它不能在vs studio上工作。您在vs项目中使用的MySQL connector版本是什么?MySQL connector Net 6.2.4
MySqlConnection sqlConnection = new MySqlConnection(@"Server=localhost;Database=test;");
var sql = @"SELECT o.`Order ID`, o.Description, o.Amount
FROM tbl_orders AS o
INNER JOIN tbl_customers AS c ON o.`Order ID` = c.`Order ID`
WHERE c.`Customer ID` = 1";
sqlConnection.Open();
MySqlCommand sqlCommand = new MySqlCommand(sql,sqlConnection);
sqlCommand.ExecuteNonQuery();
sqlConnection.Close();
SQL = "SELECT o.[Order ID], o.Description, o.Amount
FROM tbl_orders AS o
INNER JOIN tbl_customers AS c ON o.[Order ID] = c.[Order ID]
WHERE c.[Customer ID] = '" + cust_id + "'";
cmd.Connection = dbCon;
cmd.CommandText = SQL;
rdr= cmd.ExecuteReader();
dt.Load(rdr);