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

标签 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 并执行不带参数的命令可能同样简单,除非您不验证文本并且担心注入(inject)攻击。

关于c# - 使用 C# 将记录插入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5021425/

相关文章:

mysql - 根据另一个表的结果添加行到查询

mysql - 如何在 Node js中返回嵌套的JSON

C# 数据集 Access 数据库

mysql - 在 HAVING 子句中使用 MAX/MIN 优化查询

c# - 如何在JS中注册一个List<string>并进行迭代?

c# - 我可以覆盖 C# 中的属性吗?如何?

mysql - SAS proc sql 更新表,包含计数和最大值

php - 忽略 MySQL Group By 值

c# - Web Scrape w/Selenium;性能慢?

c# - 使用 MVVM C#​​ 将 UpdateSourceTrigger 设置为 WPF ListBox 项源控件的显式