MySql C# 中的错误 1064 xampp
MySql Error 1064 in C# with xampp
我一直收到一个 Error 1064
和这个文本:
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 与此连接关联,必须先将其关闭。
错误代码行@"Tisch 2":
reader = sql.ExecuteReader();
(我在上面加上了)
感谢您的帮助
您使用的分隔符是 SQL 分隔符,而不是 MySQL 分隔符。
使用 ` 而不是 [ 和 ].
我一直收到一个 Error 1064
和这个文本:
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 与此连接关联,必须先将其关闭。
错误代码行@"Tisch 2":
reader = sql.ExecuteReader();
(我在上面加上了)
感谢您的帮助
您使用的分隔符是 SQL 分隔符,而不是 MySQL 分隔符。 使用 ` 而不是 [ 和 ].