【问题标题】:MySql Error 1064 in C# with xampp带有 xampp 的 C# 中的 MySql 错误 1064
【发布时间】:2016-02-07 18:51:27
【问题描述】:

我不断收到带有此文本的Error 1064

MySql.Data.dll 中出现“MySql.Data.MySqlClient.MySqlException”类型的未处理异常 附加信息:您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“[Tisch 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 与此 Connection 关联,必须先关闭它。

错误代码行@“Tisch 2”:

reader = sql.ExecuteReader();

(我已经在上面添加了)

感谢您的帮助

【问题讨论】:

  • 在mysql中,分隔符是反引号,用反引号替换括号"select * from `Tisch 1`;"
  • 谢谢,有帮助!但我在我发布的代码下得到了下一个错误:

标签: c# mysql visual-studio mariadb mysql-error-1064


【解决方案1】:

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

【讨论】:

  • 但我知道他的意思 ^^ 所以它也帮助了我。谢谢你们俩。
  • 更新为使用反引号。
猜你喜欢
  • 2015-11-15
  • 1970-01-01
  • 1970-01-01
  • 2011-02-11
  • 2015-07-03
  • 1970-01-01
  • 2016-09-29
  • 1970-01-01
  • 2012-03-29
相关资源
最近更新 更多