"Input string was not in a correct format"
尝试通过 MySQL .NET 连接器更新表时出现错误。
通过 MySQL 工作台运行更新语句时工作正常,但不能通过代码运行,我希望有人能告诉我原因。
代码是:
MySqlCommand command = new MySqlCommand();
command.Connection = conn;
command.CommandText = "update fulfilled_shipments_data set addedCustomer=1 where amazonOrderId like '" + amazonOrderId + "%';";
command.ExecuteNonQuery();
我尝试过作为非查询和 ExecuteReader(); 执行 没有运气。
我确信这是我犯的一个简单的错误,但我似乎一辈子都找不到它,所以任何帮助都将不胜感激。
-- 编辑 -- 我试过以下没有运气:
MySqlCommand command = new MySqlCommand();
command.Connection = conn;
command.CommandText = "update fulfilled_shipments_data set addedCustomer=1 where amazonOrderId like '@amazonOrderId';";
command.Parameters.AddWithValue("@amazonOrderId", amazonOrderId);
还将 CommandText 更改为:
command.CommandText = "update fulfilled_shipments_data set addedCustomer=1 where convert(varchar(50), amazonOrderId) like '" + amazonOrderId + "';";
和
command.CommandText = "update fulfilled_shipments_data set addedCustomer=1 where amazonOrderId = '@amazonOrderId';";
和
command.CommandText = "update fulfilled_shipments_data set addedCustomer=1 where amazonOrderId = @amazonOrderId;";
- 解析度 -
我的解决方案实际上是在另一段代码中找到的。在多次运行调试器后,很明显 MySqlConnection 对象试图被实例化两次 - 使用相同的名称等。我删除了第二个实例化,它已经解决了这个问题。太糟糕了,错误误导了。
我感谢每个人的回复,因为我觉得他们让我的代码变得更好,因此我给 Jon、Steve 和 Chris 打了 +1。谢谢您的帮助!