我目前正在使用 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 并执行不带参数的命令可能同样简单,除非您不验证文本并且担心注入(inject)攻击。
关于c# - 使用 C# 将记录插入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5021425/