在Mysql中使用正确的语法错误

本文关键字:语法 错误 Mysql | 更新日期: 2023-09-27 18:20:19

我无法修复以下错误:

`"您的SQL语法有错误;请查看与MySQL服务器版本相对应的手册,了解在第1行的'When,Then'值('79','BT-CoE','yj','yi','yi')'附近使用的正确语法"`error。

这是代码:

 protected void Button3_Click(object sender, EventArgs e){
        string MyconnectionString = "server=localhost;database=requirement_doc;Uid=t;Pwd=123;";
        MySqlConnection conn = new MySqlConnection(MyconnectionString);
        MySqlCommand cmd;
        DataTable dt1 = new DataTable();
        cmd = conn.CreateCommand();
        cmd.CommandText = "SELECT  Req_ID, Actor FROM UseCase where Req_ID='" + txtReqID.Text + "' AND Actor='" + DropDownList1.Text + "'";
                    MySqlDataAdapter da1 = new MySqlDataAdapter();
        da1.SelectCommand = cmd;
        da1.Fill(dt1);
        if (dt1.Rows.Count > 0)
        {
            Label1.Text = "Data already exist";
        }

        else
        {

            string sql = "INSERT INTO UseCase (Req_ID,Actor,Given,When,Then) values(  '" + txtReqID.Text + "','" + DropDownList1.Text + "','" + giventxt.Text + "','" + whentbl.Text + "','" + thentbl.Text + "')"; 
                          cmd.Connection = conn;
            cmd.CommandText = sql;
            conn.Open();

        }
        try
        {
            cmd.ExecuteNonQuery();
            Label1.Text = " Successfully saved";
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
    }
    }

在Mysql中使用正确的语法错误

用``环绕When and then,因为它们是保留名称。

string sql = "INSERT INTO UseCase (Req_ID,Actor,Given,`When`,`Then`) values(  '" + txtReqID.Text + "','" + DropDownList1.Text + "','" + giventxt.Text + "','" + whentbl.Text + "','" + thentbl.Text + "')"; 

WhenThen是MySQL中的保留名称。因此,如果您使用这些作为列名,就会出现错误。