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

📄 vieworders.aspx.vb

📁 网上售书系统v-1 SQL数据库 ASP.NET开发环境
💻 VB
字号:
Imports System.Data.SqlClient
Public Class ViewOrders
    Inherits System.Web.UI.Page
    Protected WithEvents UpdateBtn As System.Web.UI.WebControls.LinkButton
    Protected WithEvents OrderDBGrd As System.Web.UI.WebControls.DataGrid

    Private connstr As String = System.Configuration.ConfigurationSettings.AppSettings("ConnectionString").ToString.Trim
    Private myconn As SqlConnection = New SqlConnection(connstr)


#Region " Web 窗体设计器生成的代码 "

    '该调用是 Web 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        If Not IsPostBack Then
            BindData()
        End If
    End Sub
    '=============================================================
    ' 函 数 名:BindData
    ' 功能描述:绑定DataGrid数据显示
    ' 输入参数:无
    ' 返 回 值:无
    ' 创建日期:2004-8-12
    ' 修改日期:2004-8-12
    ' 作    者:
    ' 附加说明:
    '==============================================================

    Private Sub BindData()
        myconn.Open()
        Dim ds As DataSet = New DataSet()
        Dim sqlstr As String = "select * from Orders,UserInfo,Book where Orders.BookID=Book.BookID and Orders.UserID=UserInfo.UserID"
        Dim myAdapter As SqlDataAdapter = New SqlDataAdapter(sqlstr, myconn)
        ds = New DataSet()
        myAdapter.Fill(ds)
        OrderDBGrd.DataSource = ds.Tables(0).DefaultView
        OrderDBGrd.DataBind()
        myconn.Close()
    End Sub

    Private Sub UpdateBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpdateBtn.Click
        Dim i As Integer = 0
        Dim UserID As String
        Dim j As Integer
        Dim ChBox As CheckBox
        Dim sqlstr As String = ""
        Dim ServiceOver As Integer = 0
        Dim OrdersID As String = ""
        For i = 0 To OrderDBGrd.Items.Count - 1
            sqlstr = ""
            UserID = OrderDBGrd.Items(i).Cells(7).Text.ToString
            ChBox = CType(OrderDBGrd.Items(i).Cells(6).FindControl("ChServiceOver"), CheckBox)
            ServiceOver = OrderDBGrd.Items(i).Cells(10).Text
            OrdersID = OrderDBGrd.Items(i).Cells(12).Text
            If ChBox.Checked = True Then
                '查看是否已经发货
                If ServiceOver = 0 Then
                    '查看存货是否够发货
                    If Enough(OrderDBGrd.Items(i).Cells(3).Text.ToString) = True Then
                        Dim user As UserInfo = CType(Session("UserInfo"), UserInfo)
                        Dim Receiver As String = OrderDBGrd.Items(i).Cells(9).Text
                        Dim Book As String = OrderDBGrd.Items(i).Cells(1).Text
                        '给客户发送系统信息,提示已经发货
                        Dim objMsg As Message = New Message()
                        objMsg.Sender = user.NiceName
                        objMsg.SenderMail = user.EMail
                        objMsg.Receiver = Receiver
                        objMsg.MsgDate = Now.ToShortDateString
                        objMsg.Title = "系统信息"
                        objMsg.MsgInfo = "书本《" + Book + "》已寄出,请您查收!!!"
                        Dim obj As MsgControl = New MsgControl()
                        obj.WriteMsg(objMsg)

                        '扣除订单数量
                        sqlstr = " update Book set Num=Num-" + OrderDBGrd.Items(i).Cells(3).Text.ToString + " where BookID=" + OrderDBGrd.Items(i).Cells(11).Text.ToString
                        '改变服务状态
                        sqlstr += "  update Orders set ServiceOver=1 where OrdersID=" + OrdersID
                        ExecSQL(sqlstr)
                    Else
                        '弹出不够发货的警告
                        Response.Write("<script>javascript:alert('书本《" + OrderDBGrd.Items(i).Cells(1).Text + "》不够发货');</script>")
                    End If
                End If
            Else
                sqlstr += "  update Orders set ServiceOver=0 where OrdersID=" + OrdersID
                ExecSQL(sqlstr)
            End If
        Next
        BindData()
    End Sub
    '=============================================================
    ' 函 数 名:ExecSQL
    ' 功能描述:执行无返回值的SQL语句
    ' 输入参数:sqlstr :SQL语句
    ' 返 回 值:无
    ' 创建日期:2004-8-12
    ' 修改日期:2004-8-12
    ' 作    者:
    ' 附加说明:
    '==============================================================
    Private Sub ExecSQL(ByVal sqlstr As String)
        Dim cmd As SqlCommand = New SqlCommand(sqlstr, myconn)
        Try
            myconn.Open()
            cmd.ExecuteNonQuery()

        Catch
            Response.Write(sqlstr)
            Response.End()
        Finally
            myconn.Close()
        End Try
    End Sub

    '=============================================================
    ' 函 数 名:Enough
    ' 功能描述:绑定DataGrid数据显示
    ' 输入参数:sum :客户订单数量
    ' 返 回 值:Boolean:如果库存可以满足客户需求,则返回值为True,否则为false
    ' 创建日期:2004-8-12
    ' 修改日期:2004-8-12
    ' 作    者:
    ' 附加说明:
    '==============================================================

    Private Function Enough(ByVal sum As String) As Boolean
        myconn.Open()
        Dim ds As DataSet = New DataSet()
        Dim sqlstr As String = "select * from Book where Num>=" + sum
        Dim myAdapter As SqlDataAdapter = New SqlDataAdapter(sqlstr, myconn)
        ds = New DataSet()
        myAdapter.Fill(ds)
        myconn.Close()
        If ds.Tables(0).Columns.Count = 0 Then
            Return False
        Else
            Return True
        End If
    End Function
    Private Sub OrderDBGrd_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles OrderDBGrd.ItemCommand
        If e.CommandName = "Send" Then
            Dim Receiver As String = OrderDBGrd.Items(e.Item.ItemIndex).Cells(9).Text
            '打开写信息窗口
            Response.Write("<script>window.open('../Msg/EditMsg.aspx?NiceName=" + Receiver + " ','','toolbar=yes, status=yes,menubar=yes, scrollbars=yes,resizable=yes,width=500,height=400,left=100,top=0');</script>")
            'obj.WriteMsg(
        End If
    End Sub

    Private Sub OrderDBGrd_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles OrderDBGrd.PageIndexChanged
        OrderDBGrd.CurrentPageIndex = e.NewPageIndex
        BindData()
    End Sub
End Class

⌨️ 快捷键说明

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