Created with colorer-take5 library. Type 'vbnet'
Imports System.Web.Configuration
Imports System.Data.OleDb
Partial Public Class test2
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 

Handles Me.Load

        Dim goodList As New DataTable("googList")
        Dim newRow As DataRow

        If IsPostBack = False Then '檢查網頁是否為第一次載入

            '建立欄位名稱
            goodList.Columns.Add("商品名稱", System.Type.GetType("System.String"))
            goodList.Columns.Add("商品價格", System.Type.GetType("System.Int32"))
            goodList.Columns.Add("商品數量", System.Type.GetType("System.Int32"))

            '新增一筆預設資料
            newRow = goodList.NewRow
            newRow(0) = "(系統預設)"
            newRow(1) = 0
            newRow(2) = 0
            goodList.Rows.Add(newRow)
            GridView1.DataSource = goodList
            GridView1.DataBind()

            '將資料表(DataTable)丟入Session
            Session("goodList") = goodList

        End If

    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) 

Handles Button1.Click

        Dim flag As Boolean = False

        Dim gname As String
        Dim gprice As Integer

        flag = False

        Call searchGid(gname, gprice, flag)
        Call addData(gname, gprice, flag)

    End Sub

    Sub searchGid(ByRef gname, ByRef gprice, ByRef flag)
        '檢查資料庫是否有 TextBox 所輸入的商品編號
        '找到則取出 商品名稱、商品價格

        Dim dbConn As New OleDbConnection

(WebConfigurationManager.ConnectionStrings

("dbConnectionString").ConnectionString.ToString())
        Dim dbreader As OleDb.OleDbDataReader
        Dim sql As String
        Dim dbCmd As New OleDb.OleDbCommand

        Try

            dbConn.Open()

            sql = "SELECT *"
            sql = sql & " FROM goods"
            sql = sql & " WHERE gid='" & TextBox1.Text & "'"

            dbCmd = New OleDbCommand(sql, dbConn)

            dbreader = dbCmd.ExecuteReader()

            Do While dbreader.Read

                If System.Convert.ToString(dbreader("gid")) = TextBox1.Text Then

                    gname = System.Convert.ToString(dbreader("gname"))
                    gprice = System.Convert.ToString(dbreader("gprice"))

                    flag = True
                    Exit Do

                End If

            Loop

        Catch ex As Exception
            MsgBox("發生錯誤,錯誤代碼:" & ex.Message)
        Finally
            dbConn.Close()
        End Try

    End Sub

    Sub addData(ByRef gname, ByRef gprice, ByRef flag)

        Dim goodList As DataTable = Session("goodList")
        Dim newRow As DataRow
        Dim i As Double

        If flag = True Then

            flag = False

            For i = 1 To goodList.Rows.Count - 1
                '檢查欲新增的資料是否已在商品清單中
                If goodList.Rows(i).Item(0) = gname Then

                    flag = True
                    Exit For

                End If

            Next i

            If flag = False Then
                '欲新增的資料不存在則新增一筆資料
                newRow = goodList.NewRow
                newRow(0) = gname
                newRow(1) = gprice
                newRow(2) = 1
                goodList.Rows.Add(newRow)

            Else
                '欲新增的資料已存在則累加其數量
                goodList.Rows(i).Item(2) += 1

            End If

            Session("goodList") = goodList
            GridView1.DataSource = Session("goodList")
            GridView1.DataBind()

        End If

    End Sub
    
End Class
arrow
arrow
    全站熱搜

    阿博哥 發表在 痞客邦 留言(0) 人氣()