2015-11-06 73 views
2

我不斷收到Error 1064有這樣的文字:MySQL錯誤1064在C#與XAMPP

An unhandled exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll Additional information: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '[Tisch 1]' at line 1

這是我的編碼:

using MySql.Data.MySqlClient; 

namespace Tischreservierung1000 
{ 
public partial class Reservierung : Form 
{ 

    private MySqlConnection con; 
    private MySqlCommand sql; 
    private MySqlConnection connection = new MySqlConnection(); 

public Reservierung() 
{ 
    InitializeComponent(); 
    String connect = "Server=localhost;Port=3306;Database=tischreservierer;uid=Tischreservierer;"; 
    con = new MySqlConnection(connect); 


    //Prüfe ob Tisch 1 schon reserviert ist 
    con.Open(); 
    sql = con.CreateCommand(); 
    sql.CommandText = "select * from [Tisch 1];"; 
    MySqlDataReader reader = sql.ExecuteReader(); 
    while (reader.Read()) 
    { 
     if (reader.GetString(3) == "Reserviert") { T1Res = false; } else { } 
     if (T1Res == false) { T1R.BackgroundImage = null ; T1R.BackColor = Color.DarkRed; T1S1R.BackColor = Color.DarkRed; if (reader.GetInt32(2) == 2) { T1S2R.BackColor = Color.DarkRed; } } else { } 
    } 
} 
    //Prüfe ob Tisch 2 schon reserviert ist 
    sql = con.CreateCommand(); 
    sql.CommandText = "select * from `Tisch 2`;"; 
    reader = sql.ExecuteReader(); 
    while (reader.Read()) 
    { 
      if (reader.GetString(3) == "Reserviert") { T2Res = false; } else { } 
      if (T2Res == false) { T2R.BackgroundImage = null; T2R.BackColor = Color.DarkRed; T2S1R.BackColor = Color.DarkRed; if (reader.GetInt32(2) == 2) { T2S2R.BackColor = Color.DarkRed; } } else { } 
    } 

}

錯誤在此行中顯示出來:

MySqlDataReader reader = sql.ExecuteReader(); 

他爲什麼試圖與MariaDB建立連接? 我之前使用過Access數據庫,它以這種方式工作。

它幫助反向。但現在我得到以下錯誤: 已經有一個開放的DataReader與此連接關聯,必須先關閉它。

錯誤代碼行@ 「蒂施2」:

讀者= sql.ExecuteReader();

(IVE添加在其上方)

感謝您的幫助

+1

在mysql中,分隔符是反引號,用反引號替換括號'「select * from Tisch 1」;「' – Mihai

+0

謝謝,幫助!但即時通過我的代碼我發佈的下一個錯誤: – Dam1X

回答

2

您所使用的分隔符是SQL分隔符,而不是MySQL的分隔符。 使用`而不是[和]。

+2

這是錯誤的,反向!=單引號.. – Mihai

+1

但我知道他的意思^^所以它也幫助我。感謝你們倆。 – Dam1X

+1

更新爲使用反引號。 –