编写vb.net代码来检查餐馆包间是否可用,并将顾客预订信息插入到预订表格中。如果包间不可用,则提示用户选择其他时间或包间。
时间: 2024-02-18 14:05:45 浏览: 26
以下是一个简单的 VB.NET 代码示例,用于检查餐馆包间是否可用并将顾客预订信息插入预订表格。
```vb
' 数据库连接字符串
Dim connString As String = "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"
' 预订表格名称
Dim tableName As String = "Reservations"
' 输入参数 - 包间号和预订时间
Dim roomNumber As Integer = 1
Dim reservationTime As DateTime = DateTime.Parse("2021-08-01 18:00:00")
' 检查包间是否可用
Dim isAvailable As Boolean = CheckRoomAvailability(roomNumber, reservationTime, connString, tableName)
If isAvailable Then
' 包间可用,插入预订信息到表格
Dim customerName As String = "John Doe"
Dim numberOfGuests As Integer = 4
InsertReservation(roomNumber, reservationTime, customerName, numberOfGuests, connString, tableName)
' 提示用户预订成功
MessageBox.Show("您已成功预订包间 #" & roomNumber & " 在 " & reservationTime.ToString("yyyy-MM-dd HH:mm:ss") & " 的用餐。")
Else
' 包间不可用,提示用户选择其他时间或包间
MessageBox.Show("包间 #" & roomNumber & " 在 " & reservationTime.ToString("yyyy-MM-dd HH:mm:ss") & " 不可用,请选择其他时间或包间。")
End If
' 检查包间是否可用的函数
Private Function CheckRoomAvailability(ByVal roomNumber As Integer, ByVal reservationTime As DateTime, ByVal connString As String, ByVal tableName As String) As Boolean
Dim isAvailable As Boolean = True
' 创建数据库连接
Using conn As New SqlConnection(connString)
' 创建 SQL 查询语句
Dim sql As String = "SELECT COUNT(*) FROM " & tableName & " WHERE RoomNumber = @RoomNumber AND ReservationTime = @ReservationTime"
' 创建命令对象
Using cmd As New SqlCommand(sql, conn)
' 添加参数
cmd.Parameters.AddWithValue("@RoomNumber", roomNumber)
cmd.Parameters.AddWithValue("@ReservationTime", reservationTime)
' 打开连接并执行查询
conn.Open()
Dim count As Integer = CInt(cmd.ExecuteScalar())
' 如果有预订,则包间不可用
If count > 0 Then
isAvailable = False
End If
End Using
End Using
Return isAvailable
End Function
' 插入预订信息到表格的函数
Private Sub InsertReservation(ByVal roomNumber As Integer, ByVal reservationTime As DateTime, ByVal customerName As String, ByVal numberOfGuests As Integer, ByVal connString As String, ByVal tableName As String)
' 创建数据库连接
Using conn As New SqlConnection(connString)
' 创建 SQL 插入语句
Dim sql As String = "INSERT INTO " & tableName & " (RoomNumber, ReservationTime, CustomerName, NumberOfGuests) VALUES (@RoomNumber, @ReservationTime, @CustomerName, @NumberOfGuests)"
' 创建命令对象
Using cmd As New SqlCommand(sql, conn)
' 添加参数
cmd.Parameters.AddWithValue("@RoomNumber", roomNumber)
cmd.Parameters.AddWithValue("@ReservationTime", reservationTime)
cmd.Parameters.AddWithValue("@CustomerName", customerName)
cmd.Parameters.AddWithValue("@NumberOfGuests", numberOfGuests)
' 打开连接并执行插入
conn.Open()
cmd.ExecuteNonQuery()
End Using
End Using
End Sub
```
请注意,该示例仅提供了一个简单的框架,您需要根据您的具体情况进行修改和扩展。另外,您需要将数据库连接字符串和表格名称替换为您自己的值。