【问题标题】:UPDATE command with NULL带有 NULL 的 UPDATE 命令
【发布时间】:2011-04-27 15:20:49
【问题描述】:

我正在尝试使用从我的 ASP.NET 网页上的控件中选择的日期来更新我的数据库中的列。我需要确保代码正确,因为列中没有任何更新。

代码:

Command = New SqlCommand("UPDATE Parking SET ParkingStartDate = @StartDate1 WHERE Parking_ID = @radio)", myConn)

Command.Parameters.Add("@StartDate1", SqlDbType.Date).Value = StartDate.SelectedDate
Command.Parameters.Add("@radio", SqlDbType.VarChar).Value = radio
Command.ExecuteNonQuery()
myConn.Close()

我的问题是如果列已经为NULL,使用update语句是否正确?

问候。

【问题讨论】:

  • 我总是会在任何 SqlDbType.VarChar 参数上指定一个 length - 但除此之外,我认为这看起来不错
  • 回答你的问题,是的,使用更新语句是正确的。而且您的代码看起来很好,也许您需要调试“收音机”以查看它是否具有您要更新的正确停车 ID。
  • 已检查但仍未插入日期
  • Command.ExecuteNonQuery() 周围放一个Try Catch,看看是否有异常被抛出。能够调试自己的程序是必不可少的。

标签: .net sql vb.net tsql ado.net


【解决方案1】:

如果ParkingStartDate 已经为空,那么这个更新语句应该没问题。如果 Parking_ID@radio 都为 null,则可能不会像您预期的那样运行。

在这种情况下,您可能希望使用 IS NULL。

【讨论】:

    猜你喜欢
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 2016-09-24
    相关资源
    最近更新 更多