我目前正在使用C#
WPF开发一个应用程序.我正在尝试将数据存储到
MySQL数据库中.以下是我的代码.
MySqlCommand cmd = new MySqlCommand("", conn);
cmd.CommandText = "INSERT INTO BUG_REPORTS (bug_softwareID, bug_firstName, bug_lastName, bug_email, bug_description, bug_ip_addr, bug_dateReported) "
+ "VALUES (@softwareID, @firstName, @lastName, @email, @description, @ip_addr, @dateReported)";
cmd.Parameters.Add("@softwareID");
cmd.Parameters.Add("@firstName");
cmd.Parameters.Add("@lastName");
cmd.Parameters.Add("@email");
cmd.Parameters.Add("@description");
cmd.Parameters.Add("@ip_addr");
cmd.Parameters.Add("@dateReported");
cmd.Parameters["@softwareID"].Value = softwareID;
cmd.Parameters["@firstName"].Value = getFirstName();
cmd.Parameters["@lastName"].Value = getLastName();
cmd.Parameters["@email"].Value = getEmail();
cmd.Parameters["@description"].Value = getDescription();
cmd.Parameters["@ip_addr"].Value = ip_addr;
cmd.Parameters["@dateReported"].Value = date;
cmd.ExecuteNonQuery();
每当我尝试插入记录时,它都会出现错误’只能存储MySQLParameter对象.我究竟做错了什么.我发现文章,一切似乎都没问题.
感谢您的任何帮助,您可以提供
最佳答案 在你的参数中尝试:
cmd.Parameters.Add(new OdbcParameter("@softwareID", softwareID));
依此类推,等等其他参数.
而且说实话,只需要构建你的sql内联并执行没有参数的命令就可以了,除非你没有验证文本并关注注入攻击.