2014-01-24 26 views
1

我有2個表,這是客戶表和訂單表。 基本上我的問題是,它總是給我一個錯誤,這是'未知的字段列表'。 我曾嘗試在phpmyadmin XAMPP它的作品唯一的問題是,當我在VS工作室使用它C#它給了我一個錯誤。 我很困惑,後面的勾號'''不起作用,但後面的勾號在localhost上工作。 請幫幫我。Mysql與空間的內連接列

這是我的SQL語法:

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); 
+0

是您的數據庫引擎SQL Server或MySQL的? –

+0

我的數據庫引擎是MySQL。 back ticks在localhost上工作。 但在VS工作室,它給了我一個錯誤。 我很困惑。吉茲。 – user3233787

回答

1

是否嘗試刪除並重新輸入`周圍的列名櫃面它沒有正確複製。還可以嘗試在字符串之前放置@。

SQL = @"<the sql>"; 

這個工程上的MySQL XAMPP

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(); 
+0

好的,我會嘗試。 :) – user3233787

+0

仍然是一個錯誤。 – user3233787

+0

好吧,我會重新創建這個場景,並在一分鐘內回覆給您 –

0

列在他們的名字空間應包含在方括號中。

嘗試

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); 

http://tinyurl.com/qcf45vf

What is the use of the square brackets [] in sql statements?

+0

我嘗試了括號,它不會工作。 – user3233787

+0

我認爲別名可能是錯的? – user3233787

+0

MySql.Data.MySqlClient.MySqlException:您的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,在[[訂單ID]]附近使用正確的語法... – user3233787