Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > ช่วยดุโค้ดนี้ให้หน่อยนะค่ะพอดีว่ามันติดอยู่ค่ะ มันผิดตรงที่ CalculateNet ค่ะ ช่วยดูให้หน่อยนะค่ะ



 

ช่วยดุโค้ดนี้ให้หน่อยนะค่ะพอดีว่ามันติดอยู่ค่ะ มันผิดตรงที่ CalculateNet ค่ะ ช่วยดูให้หน่อยนะค่ะ

 



Topic : 032137

Guest




Code (VB.NET)
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.OleDb
Public Class frmOrder
    Dim Conn As New OleDbConnection
    Dim da As OleDbDataAdapter
    Dim ds As New DataSet
    Dim strConn As String
    Dim lsFindCustomer As Boolean = False
    Dim lsFindFood As Boolean = False
    Private Sub order1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        strConn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=C:\ร้านอาหาร11.mdb"
        'เพิ่มคอลัมน์เข้าไปในคอลโทรล lsvProductList 5 คอลัมน์
        lsvProductList.Columns.Add("รหัสสินค้า", 60, HorizontalAlignment.Left)
        lsvProductList.Columns.Add("รหัสประเภท", 60, HorizontalAlignment.Left)
        lsvProductList.Columns.Add("ชื่อสินค้า", 150, HorizontalAlignment.Left)
        lsvProductList.Columns.Add("ราคาขาย", 65, HorizontalAlignment.Right)
        lsvProductList.Columns.Add("จำนวน", 50, HorizontalAlignment.Right)
        lsvProductList.Columns.Add("รวมเป็นเงิน", 70, HorizontalAlignment.Right)

        lsvProductList.View = View.Details 'แสดงรายการแบบ Details
        lsvProductList.GridLines = True 'ให้มีเส้นตาราง
        lsvProductList.FullRowSelect = True 'คลิกเลือกรายการแบบแถว

        With Conn 'เริ่มต้นเชื่อมต่อกับฐานข้อมูล
            If .State = ConnectionState.Open Then .Close()
            .ConnectionString = strConn
            .Open() 'เชื่อมต่อกับฐานข้อมูล
        End With
        ClearFoodData() 'เรียกซับรูทีน ClearProductData()ทำงาน
        lblNet.Text = "0"
    End Sub
    'ซับรูทีน ClearFoodData() ทำหน้าที่ล้างข้อมูลสินค้าที่แสดงอยู่ในคอลโทรลแต่ละตัว
    Private Sub ClearFoodData()
        txtFoodID.Text = ""
        lblType.Text = ""
        lblFoodName.Text = ""
        lblSalePrice.Text = ""
        txtAmount.Text = ""
        lblTotal.Text = ""
    End Sub

    Private Sub txtFoodID_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFoodID.TextChanged
        Dim sqlfood As String
        If txtFoodID.Text = "" Then Exit Sub
        sqlfood = "select * from food where food_id='" & txtFoodID.Text & "'"
        If lsFindFood = True Then
            ds.Tables("food").Clear()
        End If
        da = New OleDbDataAdapter(sqlfood, Conn)
        da.Fill(ds, "food")
        If ds.Tables("food").Rows.Count <> 0 Then
            lsFindFood = True
            'แสดงข้อมูลรายการอาหารในคอลโทรลแต่ละตัว
            txtFoodID.Text = CStr(ds.Tables("food").Rows(0).Item("food_id"))
            lblType.Text = CStr(ds.Tables("food").Rows(0).Item("type_id"))
            lblFoodName.Text = CStr(ds.Tables("food").Rows(0).Item("food_name"))
            lblSalePrice.Text = CStr(ds.Tables("food").Rows(0).Item("food_price"))

            CalculateTotal() 'เรียกซับรูทีน CalculateTotal()ทำงาน

            txtAmount.Focus()
        Else
            lsFindFood = False
            MessageBox.Show("รหัสสินค้าที่คุณป้อนไม่ถูกต้อง", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information)
            ClearFoodData()
            txtFoodID.Focus()
        End If
    End Sub
    Private Sub CalculateTotal()
        Dim Total As String
        Total = CStr(CDbl(lblSalePrice.Text) * CDbl(txtAmount.Text))
        lblTotal.Text = CStr((Total))
    End Sub

    Private Sub cmdAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click
        If (txtFoodID.Text = "") Or (lblFoodName.Text = "") Then
            txtFoodID.Focus()
            Exit Sub
        End If
        If CInt(txtAmount.Text) = 0 Then
            txtAmount.Focus()
            Exit Sub
        End If
        Dim i As Integer = 0 'ตัวแปรวนลูป
        Dim lvi As ListViewItem 'ตัวแปรออบเจ็กต์ ListViewItem
        Dim tmpFoodID As Integer = 0 'ตัวแปรเก็บรหัสอาหาร
        For i = 0 To lsvProductList.Items.Count - 1
            tmpFoodID = CInt(lsvProductList.Items(i).SubItems(0).Text)
            If CInt(txtFoodID.Text) = tmpFoodID Then
                MessageBox.Show("คุณเลือกรายการอาหารซ้ำกัน กรุณาเลือกใหม่!!!", "ผลการตรวจสอบ", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Information)
                ClearFoodData()
                txtFoodID.Focus()
                txtFoodID.SelectAll()
                Exit Sub
            End If
        Next
        Dim anyData() As String
        anyData = New String() {txtFoodID.Text, lblFoodName.Text, lblSalePrice.Text, txtAmount.Text, lblTotal.Text}
        lvi = New ListViewItem(anyData) 'เก็บข้อมูลรายการอาหารลงในออบเจ็กต์ lvi
        lsvProductList.Items.Add(lvi) 'เพิ่มรายการในคอลโทรล lsvProductList
        CalculateNet() 'เรียกซับรูทีน CalculateNet() ทำงาน
        ClearFoodData() 'เรียกซับรูทีน ClearFoodData() ทำงาน
        cmdSave.Enabled = True
        txtFoodID.Focus()
    End Sub

    Private Sub lsvProductList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lsvProductList.SelectedIndexChanged
        Dim i As Integer 'ตัวแปรวนลูป
        'ให้วนตั้งแต่รายการแรกจนถึงรายการสุดท้าย
        For i = 0 To lsvProductList.SelectedItems.Count - 1
            Dim lvi As ListViewItem 'ตัวแปรออบเจ็กต์ ListViewItem
            lvi = lsvProductList.SelectedItems(i) 'อ่านแถวที่ถูกคลิก เก็บไว้ที่ตัวแปร lvi
            lsvProductList.Items.Remove(lvi) 'เอาแถวที่ถูกคลิกออก
        Next
        CalculateNet() 'เรียกซับรูทีน CalculatNet()ทำงาน
        txtAmount.Focus()
    End Sub
    Private Sub CalculateNet()
        Dim i As Integer = 0 'ตัวแปรวนลูป
        Dim tmpNetTotal As Double = 0 'ตัวแปรเก็บยอดสั่งซื้ออาหารทั้งหมด
        'วนลูปตั้งแต่แถวแรกจนถึงแถวสุดท้าย
        For i = 0 To lsvProductList.Items.Count - 1
            'คำนวณยอดสั่งซื้ออาหารทั้งหมด 
            tmpNetTotal += CDbl(lsvProductList.Items(i).SubItems(4).Text)
        Next
        'แสดงยอดสั่งซื้อสินค้าทั้งหมด
        lblNet.Text = tmpNetTotal.ToString("#,##0.00")
    End Sub

    Private Sub cmdClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdClear.Click
        lsvProductList.Items.Clear()
        lblNet.Text = "0"
        txtFoodID.Focus()
    End Sub

    Private Sub cmdSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSave.Click
        If lsvProductList.Items.Count <> 0 Then
            If MessageBox.Show("คุณต้องการบันทึกรายการอาหาร ใช่หรือไม่ ?", "คำยืนยัน", MessageBoxButtons.OK, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
                Dim i As Integer 'ตัวแปรวนลูป
                Dim sqlsave As String 'ตัวแปรเก็บชุดคำสั่ง SQL
                Dim LastOrderID As Long 'ตัวแปรเก็บรหัสสั่งซื้อรายการอาหารล่าสุด
                Dim comSave As New OleDbCommand
                Dim drLastOrderID As OleDbDataReader
                'สร้างชุดคำสั่ง SQL เพื่อเพิ่มข้อมูลลงในตาราง Order
                sqlsave = "insert into order(customer_name,order_date)"
                sqlsave = sqlsave & " values('" & txtCustomerName.Text & "',"
                sqlsave = sqlsave & "'" & Date.Today & "')"
                With Conn 'เริ่มต้นเชื่อมต่อกับฐานข้อมูล
                    If .State = ConnectionState.Open Then .Close()
                    .ConnectionString = strConn
                    .Open() 'เชื่อมต่อกับฐานข้อมูล
                End With
                With comSave
                    .CommandType = CommandType.Text
                    .CommandText = sqlsave
                    .Connection = Conn
                    .ExecuteNonQuery() 'รันชุดคำสั่ง sqlsave
                End With
                'เลือกรหัสรายการสั่งซื้ออาหารล่าสุด 1 เรคคอร์ด จากตาราง oder
                sqlsave = "select top 1 order_id from order"
                sqlsave = sqlsave & "Order by order_id DESC"
                With Conn
                    If .State = ConnectionState.Open Then .Close()
                    .ConnectionString = strConn
                    .Open()
                End With
                With comSave
                    .CommandType = CommandType.Text
                    .CommandText = sqlsave
                    .Connection = Conn
                    'รันชุดคำสั่ง sqlsave ผลการคิวรีเก็บไว้ที่ออบเจ็กต์ drLastOrderID
                    drLastOrderID = .ExecuteReader()
                    drLastOrderID.Read()
                    'อ่านรหัสรายการสั่งซื้ออาหารล่าสุดเก็บไว้ที่ตัวแปร LastOrderID
                    LastOrderID = CLng(drLastOrderID.Item("order_id"))
                End With
                drLastOrderID.Close() 'ปิดการใช้งานออบเจ็กต์ drLastOrderID
                'วนลูปตั้งแต่แถวแรกจนถึงแถวสุดท้าย
                For i = 0 To lsvProductList.Items.Count - 1
                    'สร้างชุดคำสั่ง SQL เพื่อเพิ่มข้อมูลลงในตาราง order detail
                    sqlsave = "insert into (order_detail)(order_id,food_id,"
                    sqlsave = sqlsave & "unitPrice,quantity,discount)"

                    sqlsave = sqlsave & " values(" & LastOrderID & ","
                    sqlsave = sqlsave & "'" & CStr(lsvProductList.Items(i).SubItems(0).Text) & "',"
                    sqlsave = sqlsave & CInt(lsvProductList.Items(i).SubItems(2).Text) & ","
                    sqlsave = sqlsave & CInt(lsvProductList.Items(i).SubItems(3).Text) & ","
                    sqlsave = sqlsave & "0)"
                    With comSave
                        .CommandText = sqlsave
                        .ExecuteNonQuery()
                    End With
                Next
                MessageBox.Show("บันทึกรายการอาหารที่สั่งซื้อเรียบร้อยแล้ว !!!", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
                lsvProductList.Clear()
                ClearFoodData()
                lblNet.Text = "0"
                txtCustomerName.Focus()
            End If
        End If
    End Sub
End Class




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-09-24 13:28:41 By : ไมล์ View : 1185 Reply : 1
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

มันผิดยังไงครับ






Date : 2009-09-24 14:42:18 By : webmaster
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดุโค้ดนี้ให้หน่อยนะค่ะพอดีว่ามันติดอยู่ค่ะ มันผิดตรงที่ CalculateNet ค่ะ ช่วยดูให้หน่อยนะค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่