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;
我正在努力让这个 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;