c# mysql 插入语句。参数化查询示例?

c# mysql insert statement. Parameterized query example?

我正在努力让这个 insert 声明生效。

string sql = "INSERT INTO usuario (apellido,nombre,email,password,id_localidad) "
                         + "VALUES (?apellido,?nombre,?email,?password,?idLocalidad); ";

            MySqlCommand cmd = new MySqlCommand(sql, conn);
            cmd.Prepare();
            cmd.Parameters.AddWithValue("apellido ", usuario.apellido);
            cmd.Parameters.AddWithValue("nombre ", usuario.nombre);
            cmd.Parameters.AddWithValue("email ", usuario.email);
            cmd.Parameters.AddWithValue("password ", password);
            cmd.Parameters.AddWithValue("idLocalidad ", usuario.localidad.idLocalidad);
cmd.ExecuteNonQuery();

但又一次,我收到一个异常提示需要定义第一个参数。如果我使用 @ 占位符,显然我在添加参数时出现 null 错误。我还将以下内容添加到我的连接字符串中。

AllowUserVariables=True

我知道这个问题的变体已经出现在整个网站上,但我已经遵循了所提供的建议,但仍然无法解决这个问题。

任何帮助将不胜感激。谢谢

您可以尝试指定 MySQLDbType 以匹配您的数据库类型并使用 Add 函数:

cmd.Parameters.Add("?apellido", MySqlDbType.VarChar).Value = usuario.apellido;