第四章 系統製作
4.2 網站管理者
圖 4.17 管理者登入 圖 4.17 輸入密碼之後便進入圖 4.18 管理者專區
Process
Private Sub Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button1.Click If pass.Text = "test" Then
Session("admin") = "yes"
Response.Redirect("management.aspx") Else
Response.Write("密碼錯誤,請重新輸入") Response.End()
End If End Sub
2.管理者管理會員
圖 4.18 管理者專區
圖 4.18 點選會員總攬之後,出現圖 4.19 管理者管理會員
圖 4.19 管理者管理會員
圖 4.19 點選編輯,出現圖 4.20 管理者管理會員之修改,將所要修改
的資料欄修改;圖 4.19 點選刪除便得到圖 4.22 管理者管理會員之刪 除完成。
圖 4.20 管理者管理會員之修改
圖 4.20 修改完之後便得到圖 4.21 管理者管理會員之修改完成
4.21 管理者管理會員之修改完成
圖 4.22 管理者管理會員之刪除完成
Process:使用 DataGrid 來顯示資料且利用 SQL 指令來做修改
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then BindList() End Sub
Private
Sub myDataGrid_EditCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.EditCommand
myDataGrid.EditItemIndex = e.Item.ItemIndex BindList()
End Sub
Private Sub myDataGrid_CancelCommand(ByVal source As
Private Sub myDataGrid_UpdateCommand(ByVal source As
Object, ByVal e As
Dim ID
As String = CType(e.Item.Cells(4).Controls(0),
"',sex='" & sex & "' ,MyTel='" & MyTel & "',ID='" & ID &
"' ,pass='" & pass & "',MyNumber='" & MyNumber & "',MyMobil='"
& MyMobil & "',MyBirthday='" & MyBirthday & "',email='" & email
& "',AreaNum='" & AreaNum & "',Address='" & MyAddress & "' Where
" & myDataGrid.DataKeyField & "='" &
myDataGrid.DataKeys(e.Item.ItemIndex) & "'"
Dim objConn As New OleDb.OleDbConnection objConn.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" &
Server.MapPath("DB.mdb") objConn.Open()
Dim objCmd
As New OleDb.OleDbCommand(strSQL, objConn)
objCmd.ExecuteNonQuery()myDataGrid.EditItemIndex = -1 aa = "OK"
BindList()
End Sub
'strSQL 為 SQL 敘述,FileName 為資料庫檔名,TableName 為 資料表名稱。
Function CreateDataSet(ByVal strSQL As String, ByVal FileName As String, ByVal TableName As String) As DataSet Dim ConnString As String =
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" &
myDataGrid.DataSource = CreateDataSet("Select * From member", "DB.mdb", "member")
myDataGrid.DataBind() End Sub
Private Sub myDataGrid_PageIndexChanged(ByVal source As
Object, ByVal e As
System.Web.UI.WebControls.DataGridPageChangedEventArgs)
Handles myDataGrid.PageIndexChanged
myDataGrid.CurrentPageIndex = e.NewPageIndex BindList()
End Sub
Private Sub myDataGrid_DeleteCommand(ByVal source As
Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.DeleteCommand
'Response.Write(myDataGrid.DataKeyField & "<BR>")
'Response.Write(myDataGrid.DataKeys(e.Item.ItemIndex) &
"<BR>")
Dim delstr As String = "delete from member where " &
myDataGrid.DataKeyField & "=" & "'" &
myDataGrid.DataKeys(e.Item.ItemIndex) & "'"
'Response.Write(delstr) 'Response.End()
Dim objcon As New OleDb.OleDbConnection objcon.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" &
Server.MapPath("DB.mdb") objcon.Open()
Dim objcmd1
As New OleDb.OleDbCommand(delstr, objcon)
objcmd1.ExecuteNonQuery()myDataGrid.EditItemIndex = -1 BindList()
End Sub
3.管理者管理商品
圖 4.18 管理者專區
圖 4.18 點選商品總攬管理,出現圖 4.23 管理者管理商品
圖 4.23 管理者管理商品
圖 4.23 點選編輯,出現圖 4.24 管理者管理商品之修改,進行商品的 修改,完成出現圖 4.25 管理者管理商品之修改完成;圖 4.23 點選摻
除的時候,便出現圖 4.26 管理者管理商品之刪除完成
圖 4.24 管理者管理商品之修改
圖 4.25 管理者管理商品之修改完成
圖 4.26 管理者管理商品之刪除完成 Process
Public aa As String
Private
Sub Page_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.LoadIf Not IsPostBack Then BindList() End Sub
Private
Sub myDataGrid_EditCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.EditCommand
myDataGrid.EditItemIndex = e.Item.ItemIndex
BindList() End Sub
Private Sub myDataGrid_CancelCommand(ByVal source As
Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.CancelCommand
myDataGrid.EditItemIndex = -1 BindList()
End Sub
Private Sub myDataGrid_UpdateCommand(ByVal source As
Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.UpdateCommand
Dim 類別 As String =
CType(e.Item.Cells(0).Controls(0), TextBox).Text
Dim 編號 As String =CType(e.Item.Cells(1).Controls(0), TextBox).Text
Dim 名稱 As String =
CType(e.Item.Cells(2).Controls(0), TextBox).Text
Dim 類型 As String =
CType(e.Item.Cells(3).Controls(0), TextBox).Text
Dim 價格 As Integer =
CType(e.Item.Cells(4).Controls(0), TextBox).Text
Dim 簡介 As String =
CType(e.Item.Cells(5).Controls(0), TextBox).Text
Dim strSQL As String
strSQL = "Update 商品 Set 類別='" & 類別 & "',編號='"
& 編號 & "' ,名稱='" & 名稱 & "',類型='" & 類型 & "' ,價格="
& 價格 & ",簡介='" & 簡介 & "' Where " &
myDataGrid.DataKeyField & "='" &
myDataGrid.DataKeys(e.Item.ItemIndex) & "'"
Dim objConn As New OleDb.OleDbConnection objConn.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" &
Server.MapPath("DB.mdb") objConn.Open()
Dim objCmd
As New OleDb.OleDbCommand(strSQL, objConn)
objCmd.ExecuteNonQuery()myDataGrid.EditItemIndex = -1 aa = "OK"
BindList()
End Sub
'strSQL 為 SQL 敘述,FileName 為資料庫檔名,TableName 為 資料表名稱。
Function CreateDataSet(ByVal strSQL As String, ByVal FileName As String, ByVal TableName As String) As DataSet Dim ConnString As String =
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" &
Server.MapPath(FileName)
Dim objCmd As New OleDb.OleDbDataAdapter(strSQL, ConnString)
Dim DS As New DataSet
objCmd.Fill(DS, TableName) CreateDataSet = DS
End Function
Sub BindList()
myDataGrid.DataSource = CreateDataSet("Select * From 商品 order by 類別", "DB.mdb", "商品")
myDataGrid.DataBind() End Sub
Private Sub myDataGrid_PageIndexChanged(ByVal source As
Object, ByVal e As
System.Web.UI.WebControls.DataGridPageChangedEventArgs)
Handles myDataGrid.PageIndexChanged
myDataGrid.CurrentPageIndex = e.NewPageIndex BindList()
End Sub
Private
Sub myDataGrid_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
myDataGrid.SelectedIndexChanged End Sub
Private Sub myDataGrid_DeleteCommand(ByVal source As
Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.DeleteCommand
'Response.Write(myDataGrid.DataKeyField & "<BR>")
'Response.Write(myDataGrid.DataKeys(e.Item.ItemIndex) &
"<BR>")
Dim delstr As String = "delete from 商品 where " &
myDataGrid.DataKeyField & "=" & "'" &
myDataGrid.DataKeys(e.Item.ItemIndex) & "'"
'Response.Write(delstr) 'Response.End()
Dim objcon As New OleDb.OleDbConnection objcon.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" &
Server.MapPath("DB.mdb") objcon.Open()
Dim objcmd1
As New OleDb.OleDbCommand(delstr, objcon)
objcmd1.ExecuteNonQuery()myDataGrid.EditItemIndex = -1 BindList()
End Sub
4.新增商品
圖 4.18 管理者專區
圖 4.18 點選新增商品,出現圖 4.27 新增商品,按下確定之後便完成 新增資料,到商品總攬便可以看到新增的商品
圖 4.27 新增商品 Process
Dim typenum As String
Private
Sub Page_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.LoadIf Not Page.IsPostBack Then
Dim con As New OleDb.OleDbConnection con.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.MapPath("DB.mdb") con.Open()
Dim cmd As New OleDb.OleDbDataAdapter("select * from 類別", con)
Dim ds As New DataSet cmd.Fill(ds, "類別")
Dim MyTable As New DataTable MyTable = ds.Tables("類別") Dim i As Integer
typeName.Items.Add("***********") For i = 0 To MyTable.Rows.Count - 1
typeName.Items.Add(MyTable.Rows(i).Item("類 別名稱"))
Next
con.Close() End If
End Sub
Private Sub Button1_Click(ByVal sender
As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim con As New OleDb.OleDbConnection con.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.MapPath("DB.mdb") con.Open()
Dim SQLStr As String
SQLStr = "insert into 商品(類別,編號,名稱,類型,價格, 簡介,連結) values(?,?,?,?,?,?,?)"
Dim cmd2 As New OleDb.OleDbCommand(SQLStr, con) cmd2.Parameters.Add("@類別", OleDb.OleDbType.Char, 50)
cmd2.Parameters.Add("@編號", OleDb.OleDbType.Char, 50)
cmd2.Parameters.Add("@名稱", OleDb.OleDbType.Char, 50)
cmd2.Parameters.Add("@類型", OleDb.OleDbType.Char,
50)
cmd2.Parameters.Add("@價格", OleDb.OleDbType.Char, 50)
cmd2.Parameters.Add("@簡介", OleDb.OleDbType.Char, 50)
cmd2.Parameters.Add("@連結", OleDb.OleDbType.Char, 50)
cmd2.Parameters("@類別").Value() = TextBox1.Text cmd2.Parameters("@編號").Value() = pronumber.Text cmd2.Parameters("@名稱").Value() = ProName.Text cmd2.Parameters("@類型").Value() =
ProType.SelectedValue
cmd2.Parameters("@價格").Value() = Price.Text cmd2.Parameters("@簡介").Value() = About.Text cmd2.Parameters("@連結").Value() = proLink.Text
cmd2.ExecuteNonQuery() con.Close()
End Sub
Private
Sub typeName_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) HandlestypeName.SelectedIndexChanged
Dim con As New OleDb.OleDbConnection con.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.MapPath("DB.mdb") con.Open()
Dim SQLStr As String
SQLStr = "select * from 類別 where 類別名稱 ='" &
typeName.SelectedValue & "'"
Dim cmd As New OleDb.OleDbCommand(SQLStr, con) Dim rd As OleDb.OleDbDataReader
rd = cmd.ExecuteReader
If rd.Read Then
TextBox1.Text = rd.GetValue(0) End If
End Sub
5.管理者管理訂單
圖 4.18 管理者專區
圖 4.18 點選訂單總覽,出現圖 4.28 管理者管理訂單
圖 4.28 管理者管理訂單
圖 4.28 點選處理,出現圖 4.29 管理者管理訂單之處理,處理之後出 現圖 4.30 管理者管理訂單之處理完成。
圖 4.29 管理者管理訂單之處理
圖 4.30 管理者管理訂單之處理完成 Process
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then BindList()
End Sub
Function CreateDataSet(ByVal strSQL As String, ByVal FileName As String, ByVal TableName As String) As DataSet Dim ConnString As String =
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" &
Server.MapPath(FileName)
ConnString)
Dim DS As New DataSet
objCmd.Fill(DS, TableName) CreateDataSet = DS
End Function
Sub BindList()
myDataGrid.DataSource = CreateDataSet("Select * From proorder", "DB.mdb", "proorder")
myDataGrid.DataBind()
End Sub
Private Sub myDataGrid_PageIndexChanged(ByVal source As
Object, ByVal e As
System.Web.UI.WebControls.DataGridPageChangedEventArgs)
Handles myDataGrid.PageIndexChanged
myDataGrid.CurrentPageIndex = e.NewPageIndex BindList()
End Sub
Private
Sub myDataGrid_EditCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.EditCommand
myDataGrid.EditItemIndex = e.Item.ItemIndex BindList()
End Sub
Private Sub myDataGrid_CancelCommand(ByVal source As
Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.CancelCommand
myDataGrid.EditItemIndex = -1 BindList()
End Sub
Private Sub myDataGrid_UpdateCommand(ByVal source As
Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.UpdateCommand
Dim prohandle As String =
CType(e.Item.Cells(8).Controls(0), TextBox).Text
Dim strSQL As String
strSQL = "Update proorder Set 處理='" & prohandle & "' Where " & myDataGrid.DataKeyField & "='" &
myDataGrid.DataKeys(e.Item.ItemIndex) & "'"
Dim objConn As New OleDb.OleDbConnection objConn.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" &
Server.MapPath("DB.mdb") objConn.Open()
Dim objCmd
As New OleDb.OleDbCommand(strSQL, objConn)
objCmd.ExecuteNonQuery()
myDataGrid.EditItemIndex = -1
BindList()
Response.Redirect("orderview.aspx") End Sub