步骤三 实现客户预订业务
( 1 )实现客户预订业务的程序流程如图 96-11 所示。

( 2 )为页面添加 4 个全局变量,如图 96-12 中圆角方框所示。

( 3 )定义“ Usercheck ”函数。该函数用于检测用户是否登录正确,登录不正确时是否注册成功,如果用户登录正确或者注册成功,则该函数返回“ True ”,否则将返回“ False ”,该函数的代码如下所述。
| 以下是引用片段: Function Usercheck() As Boolean Dim Hotelada1, Hotelada2 As OleDbDataAdapter Dim HotelDataSet1, HotelDataSet2 As System.Data.DataSet Dim Hoteldt1, Hoteldt2 As DataTable Dim tbRow As DataRow Dim yy As OleDbCommandBuilder Hotelstring = "Select * From tbUser Where UserId='" & UserID1.Text & "' And UserPass='" & UserPass1.Text & "'" Hotelada1 = New OleDbDataAdapter(Hotelstring, conn) HotelDataSet1 = New System.Data.DataSet Hotelada1.Fill(HotelDataSet1, "tbUser") Hoteldt1 = HotelDataSet1.Tables("tbUser") If Hoteldt1.Rows.Count > 0 Then strName = Hoteldt1.Rows(0)("UserId") Else If (Trim(UserID.Text) <> Nothing) And (Trim(UserPass.Text) <> Nothing) _ And (Trim(UserName.Text) <> Nothing) And (Trim(UserEmail.Text) <> Nothing) _ And (Trim(UserTel.Text) <> Nothing) Then Hotelstring = "Select * from tbUser" Hotelada2 = New OleDbDataAdapter(Hotelstring, conn) yy = New OleDbCommandBuilder(Hotelada2) HotelDataSet2 = New System.Data.DataSet Hotelada2.Fill(HotelDataSet2, "tbUser") Hoteldt2 = HotelDataSet2.Tables("tbUser") tbRow = Hoteldt2.NewRow tbRow("UserId") = UserID.Text tbRow("UserPass") = UserPass.Text tbRow("UserName") = UserName.Text tbRow("UserEmail") = UserEmail.Text tbRow("UserTel") = UserTel.Text Hoteldt2.Rows.Add(tbRow) Hotelada2.Update(HotelDataSet2, "tbUser") strName = UserID.Text Else Usercheck = False Exit Function End If End If Usercheck = True End Function |
| 以下是引用片段: Function Roomcheck() As Boolean Dim Hotelada1, Hotelada2 As OleDbDataAdapter Dim HotelDataSet1, HotelDataSet2 As System.Data.DataSet Dim Hoteldt1, Hoteldt2 As DataTable Dim i, RoomI As Integer If RoomRadio.SelectedItem.Value <> Nothing Then Hotelstring = "Select * From UserOrder Where RoomID=" & RoomRadio.SelectedItem.Value Hotelada1 = New OleDbDataAdapter(Hotelstring, conn) HotelDataSet1 = New System.Data.DataSet Hotelada1.Fill(HotelDataSet1, "UserOrder") Hoteldt1 = HotelDataSet1.Tables("UserOrder") Dim Date1, Date2 As Date Date1 = StartTime.Text Date2 = LastTime.Text For i = 0 To Hoteldt1.Rows.Count - 1 Dim roomdate1, roomdate2 As Date roomdate1 = Hoteldt1.Rows(i)("StartTime") roomdate2 = Hoteldt1.Rows(i)("LastTime") If (System.DateTime.Compare(Date1, roomdate1) And System.DateTime.Compare(roomdate2, Date1)) _ Or (System.DateTime.Compare(Date2, roomdate1) And System.DateTime.Compare(roomdate2, Date2)) _ Or (System.DateTime.Compare(roomdate1, Date1) And System.DateTime.Compare(Date2, roomdate2)) Then RoomI += 1 End If Next Hotelstring = "select RoomNum From tbRoom where RoomID=" & RoomRadio.SelectedItem.Value Hotelada2 = New OleDbDataAdapter(Hotelstring, conn) HotelDataSet2 = New System.Data.DataSet Hotelada1.Fill(HotelDataSet2, "tbRoom") Hoteldt2 = HotelDataSet2.Tables("tbRoom") If RoomI +CInt(OrderNum.Text) > Hoteldt2.Rows(0)("RoomNum") Then Roomcheck = False Exit Function End If Else Roomcheck = False Exit Function End If Roomcheck = True End Function |
| 以下是引用片段: Sub Orderinser() Dim Hotelada2 As OleDbDataAdapter Dim HotelDataSet2 As System.Data.DataSet Dim Hoteldt2 As DataTable Dim tbRow As DataRow Dim yy As OleDbCommandBuilder Hotelstring = "Select * From tbOrder" Hotelada2 = New OleDbDataAdapter(Hotelstring, conn) HotelDataSet2 = New System.Data.DataSet yy = New OleDbCommandBuilder(Hotelada2) Hotelada2.Fill(HotelDataSet2, "tbOrder") Hoteldt2 = HotelDataSet2.Tables("tbOrder") tbRow = Hoteldt2.NewRow tbRow("UserID") = strName tbRow("RoomID") = CInt(RoomRadio.SelectedItem.Value) tbRow("OrderNum") = CInt(OrderNum.Text) tbRow("StartTime") = StartTime.Text tbRow("LastTime") = LastTime.Text HotelDataSet2.Tables("tbOrder").Rows.Add(tbRow) Hotelada2.Update(HotelDataSet2, "tbOrder") End Sub |
| 以下是引用片段: Sub ErrInfo(ByVal Errmess As String) Dim strScript As String strScript = "<script language=javascript>" strScript += "alert('" + Errmess + "');" strScript += "<" strScript += "/" strScript += "script>" RegisterClientScriptBlock("showSaveMessage", strScript) End Sub |
| 以下是引用片段: Protected Sub Orderbt_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim Errstr As String HotelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/hotel.mdb") conn = New OleDbConnection(HotelConn) If Usercheck() = False Then Errstr = " 请正确登录或正确输入您的注册信息! " ErrInfo(Errstr) Exit Sub End If If Roomcheck() = False Then Errstr = " 您预订客房在您预订时间段中已预订满了! " ErrInfo(Errstr) Exit Sub End If Orderinser() End Sub |