使用C#将记录插入MySQL数据库

我目前正在使用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内联并执行没有参数的命令就可以了,除非你没有验证文本并关注注入攻击.

点赞