【问题标题】:Checking a database for specific dates to prevent a booking cross over检查特定日期的数据库以防止预订交叉
【发布时间】:2017-04-11 17:03:30
【问题描述】:

我有一个 ASPX 网络表单,登录用户可以在其中选择已存储在数据库表中的多种西装外套尺寸。一旦选择了夹克尺寸以及预订的起止日期,数据将与相关信息一起输入预订表。

我需要有关代码的帮助,以确保当其他用户选择西装外套尺码时,他们不能使用该尺码的预订表中存储的相同日期。输出将在带有错误消息的标签中,告诉用户夹克尺寸不适用于这些日期。

我使用 ASP.NET 和语言 VB 来完成所有这些工作。

任何帮助将不胜感激!

【问题讨论】:

  • 如果您向我们展示了您尝试过的代码并解释了它在哪里不起作用,我们将能够为您提供帮助。
  • 她的一些帮助:How to Ask 还有一些在tour 中还有help center

标签: sql asp.net vb.net


【解决方案1】:

这可以通过 If...Then 语句检查和用于查找的 SQL 查询来完成。

Dim mySqlConnection As New SqlConnection("Your connection string")
Dim cmd As New SqlCommand
Dim reader As SqlDataReader

cmd.CommandText = "SELECT [ID] FROM [Table] WHERE (JacketSize = @jacketSize AND (DateFrom <= @dateWanted AND DateTo >= @dateWanted))"
cmd.CommandType = CommandType.Text
cmd.Connection = mySqlConnection
cmd.Parameters.Add("@jacketSize", 'JacketSize field')
cmd.Parameters.Add("@dateWanted", 'DateWanted field')
mySqlConnection.Open()
reader = cmd.ExecuteReader()

If (reader.HasRows = TRUE) Then
    'code to execute if date is taken'
Else
    'code to execute if date is not taken'
End If

mySqlConnection.Close()

编辑:忘记添加参数。谢谢安德鲁·莫顿。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2012-08-16
    相关资源
    最近更新 更多