首页 > 解决方案 > mysql数据输入问题

问题描述

我有这段代码用于将数据输入 mysql,但我发现了一个错误,上面写着:

“MySql.Data.MySqlClient.MySqlException:'您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 ''11/05/2018)' 附近使用的正确语法”

    private void Button_Click(object sender, RoutedEventArgs e)
    {

        string especie = txt1.Text;
        string nombre = txt2.Text;
        string fechanac = txt3.Text;
        string fecharev = txt4.Text;
        int numanimales = 0;
        int cont = 0;

        var dbCon = DBConnection.Instance();
        dbCon.DatabaseName = "animalia";

        if (dbCon.IsConnect())
        {
            string query = "SELECT COUNT(*) FROM ANIMALES;";
            var cmd = new MySqlCommand(query, dbCon.Connection);
            numanimales = Convert.ToInt32(cmd.ExecuteScalar());
        }

        int id = numanimales + 1;

        if (dbCon.IsConnect())
        {
            if (especie == "" || nombre == "" || fechanac == "" || fecharev == "")
            {
                MessageBox.Show("Introduzca todos los datos");
            }
            else
            {
                cont = 1;

                MySqlDataReader reader;

                string query = "INSERT INTO ANIMALES VALUES (" + id + ",FALSE,'" + especie + "','" + nombre + "','" + fechanac + "','" + fecharev + "');";

                var cmd = new MySqlCommand(query, dbCon.Connection);
                reader = cmd.ExecuteReader();

                MessageBox.Show("Animal añadido");
                reader.Close();
            }

            if (cont == 1)
            {
                this.Close();
            }


        }
    }
}

错误出现在这部分代码中

MySqlDataReader reader;

            string query = "INSERT INTO ANIMALES VALUES (" + id + ",FALSE,'" + especie + "','" + nombre + "','" + fechanac + "','" + fecharev + ");";

            var cmd = new MySqlCommand(query, dbCon.Connection);
            reader = cmd.ExecuteReader();

            MessageBox.Show("Animal añadido");
            reader.Close();

非常感谢你们中可以帮助我的人。

标签: c#mysql.netwpf

解决方案


您在最后一个属性上缺少右引号:

...,'" + fecharev + ");";

应该

...,'" + fecharev + "');";

推荐阅读