⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkout.vb

📁 This program is designed for a menu ordering system under pocket pc platform .
💻 VB
字号:
Imports System.Data
Imports System.Data.SqlClient       '新增命名空間 for SQL Server


Public Class CheckOut

    '\\\\\\\\\\\\\\\\\\\\\ 訂單資料 宣告 \\\\\\\\\\\\\\\\\\\\\\\\\
    Dim errorMsg As String
    Dim ConnString As String

    Dim conn As SqlConnection
    Dim da As SqlDataAdapter
    Dim cmd As SqlCommand
    '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

    Private Sub CheckOut_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

        GetConsumeRecordView(0, ListView1)

    End Sub

#Region "資料庫初始化"

    ''' <summary>
    ''' 資料庫初始化
    ''' </summary>
    Public Sub InitDB()

        ConnString = SQLConnectionString()
        conn = New SqlConnection(ConnString)
        conn.Open()

    End Sub

#End Region

    Private Sub TabControl1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged

        Select Case (TabControl1.SelectedIndex)
            Case 0
                GetConsumeRecordView(0, ListView1)
           
        End Select
    End Sub

    '---------------------------訂單資料 start-------------------------------
    '明細表
    Private Sub btn_FoodList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_FoodList.Click

        Dim OrderId As String = ListView1.Items(ListView1.FocusedItem.Index).SubItems(1).Text
        Dim Moneys As String = ListView1.Items(ListView1.FocusedItem.Index).SubItems(2).Text
        txt_OrderId.Text = OrderId
        lblTotalCash.Text = Moneys

        GetOrderDBView(OrderId)
        TabControl1.SelectedIndex = 1

    End Sub

    '重新整理
    Private Sub btn_refresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_refresh.Click

        GetConsumeRecordView(0, ListView1)

    End Sub

#Region "讀取訂單明細"

    Private Sub GetOrderDBView(ByVal OrderId As String)

        Dim DT As DataTable = GetOrderDBDataTable("ProductId", "ASC", OrderId)

        Dim LVI As ListViewItem

        lvwProduct.Items.Clear()

        For Each row As DataRow In DT.Rows

            LVI = New ListViewItem(row("ProductName").ToString())
            LVI.SubItems.Add(row("ProductCost").ToString())
            LVI.SubItems.Add(row("ProductNums").ToString())
            LVI.SubItems.Add(row("ProductId").ToString())
            lvwProduct.Items.Add(LVI)

        Next

        DT.Dispose()

    End Sub

#End Region

#Region "將OrderDB資料表的內容以DataTable方式回傳"

    ''' <summary>
    ''' 將OrderDB資料表的內容以DataTable方式回傳
    '''</summary>
    ''' <param name="OrderByColumn">要排序的欄位</param>
    ''' <param name="ASCorDESC">ASC遞增,DESC遞減</param>
    ''' <returns></returns>      
    Public Function GetOrderDBDataTable(ByVal OrderByColumn As String, ByVal ASCorDESC As String, ByVal OrderId As String) As DataTable

        Dim TableName As String = "OrderDB"

        Dim selectCmd As String

        selectCmd = "SELECT * FROM " + TableName + " WHERE (OrderId Like '%" + OrderId + "%') Order By " + OrderByColumn + " " + ASCorDESC

        Try
            InitDB()

            da = New SqlDataAdapter(selectCmd, conn)
            Dim DT As DataTable = New DataTable()
            da.Fill(DT)

            da.Dispose()
            conn.Close()
            Return DT

        Catch ex As Exception

            MsgBox("資料庫連線錯誤!")
            Return Nothing

        End Try

    End Function

#End Region

#Region "讀取訂單資料"

    Private Sub GetConsumeRecordView(ByVal Pay As String, ByVal objlvw As ListView)

        Dim DT As DataTable = GetConsumeRecordDataTable("ConsumeDate", "ASC", Pay)

        Dim LVI As ListViewItem

        objlvw.Items.Clear()

        For Each row As DataRow In DT.Rows

            LVI = New ListViewItem(row("TableId").ToString())
            LVI.SubItems.Add(row("OrderId").ToString())
            LVI.SubItems.Add(row("Moneys").ToString())
            LVI.SubItems.Add(row("ConsumeDate").ToString())
            objlvw.Items.Add(LVI)

        Next

        DT.Dispose()

    End Sub

#End Region

#Region "將ConsumeRecord資料表的內容以DataTable方式回傳"

    ''' <summary>
    ''' 將ConsumeRecord資料表的內容以DataTable方式回傳
    '''</summary>
    ''' <param name="OrderByColumn">要排序的欄位</param>
    ''' <param name="ASCorDESC">ASC遞增,DESC遞減</param>
    ''' <returns></returns>      
    Public Function GetConsumeRecordDataTable(ByVal OrderByColumn As String, ByVal ASCorDESC As String, ByVal Pay As String) As DataTable

        Dim TableName As String = "ConsumeRecord"

        Dim selectCmd As String

        selectCmd = "SELECT * FROM " + TableName + " WHERE (Pay = " + Pay + ") Order By " + OrderByColumn + " " + ASCorDESC

        Try
            InitDB()

            da = New SqlDataAdapter(selectCmd, conn)
            Dim DT As DataTable = New DataTable()
            da.Fill(DT)

            da.Dispose()
            conn.Close()
            Return DT

        Catch ex As Exception

            MsgBox("資料庫連線錯誤!")
            Return Nothing

        End Try

    End Function

#End Region

    '---------------------------訂單資料 End-------------------------------

    '---------------------------訂單明細 start-----------------------------

    '結帳
    Private Sub btn_CheckOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_CheckOut.Click

        Dim OrderId As String = txt_OrderId.Text
        If UpdatePay(OrderId) Then

            MsgBox("完成結帳!")
            TabControl1.SelectedIndex = 0
            txt_OrderId.Text = ""
            lblTotalCash.Text = ""
            lvwProduct.Items.Clear()

        Else

            MsgBox("結帳失敗!")

        End If

    End Sub

#Region "進行結帳動作"

    ''' <summary>
    ''' 進行結帳動作
    ''' </summary>
    ''' <param name="OrderId">傳入訂單編號</param>
    ''' <returns></returns>
    Public Function UpdatePay(ByVal OrderId As String) As Boolean

        Dim TableName As String = "ConsumeRecord"

        InitDB()

        Dim updateCmd As String
        Dim i As Integer = 0

        updateCmd = "UPDATE " + TableName + " SET OrderId='" + OrderId + "'," '訂單編號
        updateCmd = updateCmd + " Pay=1 " '1表示已結帳 , 0表示未結帳
        updateCmd = updateCmd + " WHERE OrderId='" + OrderId + "'"

        Try
            cmd = New SqlCommand(updateCmd, conn)
            i = cmd.ExecuteNonQuery()
            conn.Close()
            If i = 1 Then
                Return True
            Else
                Return False
            End If

        Catch ex As Exception
            errorMsg = ex.Message
            conn.Close()
            Return False
        End Try

    End Function 'UpdatePay 

#End Region

    '---------------------------訂單明細 End-------------------------------

End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -