📄 vieworders.aspx.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 + -