【问题标题】:How to use greater or less than sign in C# MySQL update statement如何在 C# MySQL 更新语句中使用大于或小于号
【发布时间】:2017-08-16 15:31:46
【问题描述】:

我正在尝试通过我的 C# Winforms 应用程序设置数据库中特定项目的到期状态。

到目前为止,我已经尝试过:

MySqlCommand comm = new MySqlCommand("update items set Expiry = 'Yes' where ExpiryDate > "+ DateTime.Now.ToShortTimeString()+");",connection);
comm.ExecuteNonQuery();

但我遇到了问题

【问题讨论】:

  • 您能提供您遇到的问题吗?
  • DateTime 添加为参数,而不是字符串连接,原因有很多,但最明显的原因是您会忘记在值周围添加单引号。将来通过提供异常及其详细信息来描述您所拥有的issues(是的,此代码将在运行时抛出异常)。另见How to Askminimal reproducible example

标签: c# mysql


【解决方案1】:

DateTime 添加为参数,而不是字符串连接,原因有很多,但最明显的原因是您会忘记在值周围添加单引号。将来通过提供异常及其详细信息来描述您所拥有的issuesOP 中的代码将在运行时抛出异常)。

MySqlCommand comm = new MySqlCommand("UPDATE items SET Expiry = 'Yes' WHERE ExpiryDate > @today", connection);
comm.Parameters.AddWithValue("@today", DateTime.Today); // if you want time use DateTime.Now
comm.ExecuteNonQuery();

上面的代码假定 [items].[Expiry] 在您的表定义(架构)中是 DateDateTime 类型。

【讨论】:

  • 完成后不要忘记处理命令对象!
猜你喜欢
  • 2013-09-01
  • 2015-10-17
  • 1970-01-01
  • 2012-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多