تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] احتاج الى حل في عرض الملفات على داتا جرد فيو
#1
السلام عليكم لدي فاتورة مبيعات وعند ادخال منتج عن طريق الباركود يظيف المنتج الى الداتا
عند اضافة منتج ثاني الى الباركود لا يتم اضافة المنتج الى داتا كرد فيو

Sub LoadCart()
    Try
        Dim i As Integer = 0
        Dim total As Double = 0
        DataGridView1.Rows.Clear()
        cn.Open()
        cm = New SqlCommand("SELECT * FROM tblCart AS r INNER JOIN tblProduct AS p ON r.CartProduct = ProductID INNER JOIN tblGeneric AS g ON p.ProductGeneric = GenericID INNER JOIN tblBrand AS b ON p.ProductBrand = BrandID INNER JOIN tblFromulation AS f ON p.ProductFromulation = FromulationID INNER JOIN tblClassification AS c ON p.ProductClassification = ClassificationID INNER JOIN tblType AS t ON p.ProductType = TypeID where CartInvoice like '" & lblInvoice.Text & "'", cn)
        dr = cm.ExecuteReader
        With dr.Read
            i += 1
            DataGridView1.Rows.Add(i, dr.Item("CartID").ToString, dr.Item("CartInvoice").ToString, dr.Item("GenericName").ToString, dr.Item("BrandName").ToString, dr.Item("FromulationName").ToString, dr.Item("ClassificationName").ToString, dr.Item("TypeName").ToString, dr.Item("ProductSalePrice").ToString, dr.Item("CartQuantity").ToString, Format(CDate(dr.Item("ProductDate").ToString), "yyyy/MM"), dr.Item("CartTotal").ToString)
            total += CDbl(dr.Item("CartTotal").ToString)
        End With
        dr.Close()
        cn.Close()
        lblDisplayTotal.Text = Format(total, "#,##0")
    Catch ex As Exception
        cn.Close()
        MsgBox(ex.Message, vbCritical)
    End Try
End Sub
----------------------------------------
Sub AddTOCart()
    Try
        If txtQuantity.Text = String.Empty Or txtQuantity.Text = "0" Then Return
        Dim CartDate As String = Now.ToString("yyyy/MM/dd")
        cn.Open()
        cm = New SqlCommand("insert into tblCart (CartInvoice,CartProduct,CartPrice,CartQuantity,CartDate,CartUser)values(@CartInvoice,@CartProduct,@CartPrice,@CartQuantity,@CartDate,@CartUser)", cn)
        With FormSales
            cm.Parameters.AddWithValue("CartInvoice", .lblInvoice.Text)
            cm.Parameters.AddWithValue("CartProduct", lblPID.Text)
            cm.Parameters.AddWithValue("CartPrice", CDbl(LblPrice.Text))
            cm.Parameters.AddWithValue("CartQuantity", CInt(txtQuantity.Text))
            cm.Parameters.AddWithValue("CartDate", CartDate)
            cm.Parameters.AddWithValue("CartUser", StrUser)
            cm.ExecuteNonQuery()
            cn.Close()
            cn.Open()
            cm = New SqlCommand("update tblCart set CartTotal = CartPrice * CartQuantity where CartInvoice like '" & .lblInvoice.Text & "'", cn)
            cm.ExecuteNonQuery()
            cn.Close()
            .txtSearch.Focus()
            .txtSearch.SelectionStart = 0
            .txtSearch.SelectionLength = .txtSearch.Text.Length
            .LoadCart()
        End With
        Me.Dispose()
    Catch ex As Exception
        cn.Close()
        MsgBox(ex.Message, vbCritical)
    End Try
End Sub
-------------------------------------
حدث الاضافة

 Private Sub txtQuantity_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtQuantity.KeyPress
     Select Case Asc(e.KeyChar)
         Case 13
             AddTOCart()
         Case 48 To 57
         Case 8
         Case Else
             e.Handled = True
     End Select
 End Sub
الرد }}}
تم الشكر بواسطة:
#2
(09-07-24, 02:05 AM)raedre22 كتب : السلام عليكم لدي فاتورة مبيعات وعند ادخال منتج عن طريق الباركود يظيف المنتج الى الداتا
عند اضافة منتج ثاني الى الباركود لا يتم اضافة المنتج الى داتا كرد فيو

Sub LoadCart()
    Try
        Dim i As Integer = 0
        Dim total As Double = 0
        DataGridView1.Rows.Clear()
        cn.Open()
        cm = New SqlCommand("SELECT * FROM tblCart AS r INNER JOIN tblProduct AS p ON r.CartProduct = ProductID INNER JOIN tblGeneric AS g ON p.ProductGeneric = GenericID INNER JOIN tblBrand AS b ON p.ProductBrand = BrandID INNER JOIN tblFromulation AS f ON p.ProductFromulation = FromulationID INNER JOIN tblClassification AS c ON p.ProductClassification = ClassificationID INNER JOIN tblType AS t ON p.ProductType = TypeID where CartInvoice like '" & lblInvoice.Text & "'", cn)
        dr = cm.ExecuteReader
        With dr.Read
            i += 1
            DataGridView1.Rows.Add(i, dr.Item("CartID").ToString, dr.Item("CartInvoice").ToString, dr.Item("GenericName").ToString, dr.Item("BrandName").ToString, dr.Item("FromulationName").ToString, dr.Item("ClassificationName").ToString, dr.Item("TypeName").ToString, dr.Item("ProductSalePrice").ToString, dr.Item("CartQuantity").ToString, Format(CDate(dr.Item("ProductDate").ToString), "yyyy/MM"), dr.Item("CartTotal").ToString)
            total += CDbl(dr.Item("CartTotal").ToString)
        End With
        dr.Close()
        cn.Close()
        lblDisplayTotal.Text = Format(total, "#,##0")
    Catch ex As Exception
        cn.Close()
        MsgBox(ex.Message, vbCritical)
    End Try
End Sub
----------------------------------------
Sub AddTOCart()
    Try
        If txtQuantity.Text = String.Empty Or txtQuantity.Text = "0" Then Return
        Dim CartDate As String = Now.ToString("yyyy/MM/dd")
        cn.Open()
        cm = New SqlCommand("insert into tblCart (CartInvoice,CartProduct,CartPrice,CartQuantity,CartDate,CartUser)values(@CartInvoice,@CartProduct,@CartPrice,@CartQuantity,@CartDate,@CartUser)", cn)
        With FormSales
            cm.Parameters.AddWithValue("CartInvoice", .lblInvoice.Text)
            cm.Parameters.AddWithValue("CartProduct", lblPID.Text)
            cm.Parameters.AddWithValue("CartPrice", CDbl(LblPrice.Text))
            cm.Parameters.AddWithValue("CartQuantity", CInt(txtQuantity.Text))
            cm.Parameters.AddWithValue("CartDate", CartDate)
            cm.Parameters.AddWithValue("CartUser", StrUser)
            cm.ExecuteNonQuery()
            cn.Close()
            cn.Open()
            cm = New SqlCommand("update tblCart set CartTotal = CartPrice * CartQuantity where CartInvoice like '" & .lblInvoice.Text & "'", cn)
            cm.ExecuteNonQuery()
            cn.Close()
            .txtSearch.Focus()
            .txtSearch.SelectionStart = 0
            .txtSearch.SelectionLength = .txtSearch.Text.Length
            .LoadCart()
        End With
        Me.Dispose()
    Catch ex As Exception
        cn.Close()
        MsgBox(ex.Message, vbCritical)
    End Try
End Sub
-------------------------------------
حدث الاضافة

 Private Sub txtQuantity_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtQuantity.KeyPress
     Select Case Asc(e.KeyChar)
         Case 13
             AddTOCart()
         Case 48 To 57
         Case 8
         Case Else
             e.Handled = True
     End Select
 End Sub

جرب هذا التعديل 
PHP كود :
Sub LoadCart()
 
   Try
        Dim i 
As Integer 0
        Dim total 
As Double 0
        DataGridView1
.Rows.Clear()
 
       cn.Open()
 
       cm = New SqlCommand("SELECT * FROM tblCart AS r INNER JOIN tblProduct AS p ON r.CartProduct = ProductID INNER JOIN tblGeneric AS g ON p.ProductGeneric = GenericID INNER JOIN tblBrand AS b ON p.ProductBrand = BrandID INNER JOIN tblFromulation AS f ON p.ProductFromulation = FromulationID INNER JOIN tblClassification AS c ON p.ProductClassification = ClassificationID INNER JOIN tblType AS t ON p.ProductType = TypeID where CartInvoice like '" lblInvoice.Text "'"cn)
 
       dr cm.ExecuteReader
        While dr
.Read()
 
           i += 1
            DataGridView1
.Rows.Add(idr.Item("CartID").ToStringdr.Item("CartInvoice").ToStringdr.Item("GenericName").ToStringdr.Item("BrandName").ToStringdr.Item("FromulationName").ToStringdr.Item("ClassificationName").ToStringdr.Item("TypeName").ToStringdr.Item("ProductSalePrice").ToStringdr.Item("CartQuantity").ToStringFormat(CDate(dr.Item("ProductDate").ToString), "yyyy/MM"), dr.Item("CartTotal").ToString)
 
           total += CDbl(dr.Item("CartTotal").ToString)
 
       End While
 
       dr.Close()
 
       cn.Close()
 
       lblDisplayTotal.Text Format(total"#,##0")
 
   Catch ex As Exception
        cn
.Close()
 
       MsgBox(ex.MessagevbCritical)
 
   End Try
End Sub 
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}
تم الشكر بواسطة:
#3
(10-07-24, 06:32 PM)تركي الحلواني كتب :
(09-07-24, 02:05 AM)raedre22 كتب : السلام عليكم لدي فاتورة مبيعات وعند ادخال منتج عن طريق الباركود يظيف المنتج الى الداتا
عند اضافة منتج ثاني الى الباركود لا يتم اضافة المنتج الى داتا كرد فيو

Sub LoadCart()
    Try
        Dim i As Integer = 0
        Dim total As Double = 0
        DataGridView1.Rows.Clear()
        cn.Open()
        cm = New SqlCommand("SELECT * FROM tblCart AS r INNER JOIN tblProduct AS p ON r.CartProduct = ProductID INNER JOIN tblGeneric AS g ON p.ProductGeneric = GenericID INNER JOIN tblBrand AS b ON p.ProductBrand = BrandID INNER JOIN tblFromulation AS f ON p.ProductFromulation = FromulationID INNER JOIN tblClassification AS c ON p.ProductClassification = ClassificationID INNER JOIN tblType AS t ON p.ProductType = TypeID where CartInvoice like '" & lblInvoice.Text & "'", cn)
        dr = cm.ExecuteReader
        With dr.Read
            i += 1
            DataGridView1.Rows.Add(i, dr.Item("CartID").ToString, dr.Item("CartInvoice").ToString, dr.Item("GenericName").ToString, dr.Item("BrandName").ToString, dr.Item("FromulationName").ToString, dr.Item("ClassificationName").ToString, dr.Item("TypeName").ToString, dr.Item("ProductSalePrice").ToString, dr.Item("CartQuantity").ToString, Format(CDate(dr.Item("ProductDate").ToString), "yyyy/MM"), dr.Item("CartTotal").ToString)
            total += CDbl(dr.Item("CartTotal").ToString)
        End With
        dr.Close()
        cn.Close()
        lblDisplayTotal.Text = Format(total, "#,##0")
    Catch ex As Exception
        cn.Close()
        MsgBox(ex.Message, vbCritical)
    End Try
End Sub
----------------------------------------
Sub AddTOCart()
    Try
        If txtQuantity.Text = String.Empty Or txtQuantity.Text = "0" Then Return
        Dim CartDate As String = Now.ToString("yyyy/MM/dd")
        cn.Open()
        cm = New SqlCommand("insert into tblCart (CartInvoice,CartProduct,CartPrice,CartQuantity,CartDate,CartUser)values(@CartInvoice,@CartProduct,@CartPrice,@CartQuantity,@CartDate,@CartUser)", cn)
        With FormSales
            cm.Parameters.AddWithValue("CartInvoice", .lblInvoice.Text)
            cm.Parameters.AddWithValue("CartProduct", lblPID.Text)
            cm.Parameters.AddWithValue("CartPrice", CDbl(LblPrice.Text))
            cm.Parameters.AddWithValue("CartQuantity", CInt(txtQuantity.Text))
            cm.Parameters.AddWithValue("CartDate", CartDate)
            cm.Parameters.AddWithValue("CartUser", StrUser)
            cm.ExecuteNonQuery()
            cn.Close()
            cn.Open()
            cm = New SqlCommand("update tblCart set CartTotal = CartPrice * CartQuantity where CartInvoice like '" & .lblInvoice.Text & "'", cn)
            cm.ExecuteNonQuery()
            cn.Close()
            .txtSearch.Focus()
            .txtSearch.SelectionStart = 0
            .txtSearch.SelectionLength = .txtSearch.Text.Length
            .LoadCart()
        End With
        Me.Dispose()
    Catch ex As Exception
        cn.Close()
        MsgBox(ex.Message, vbCritical)
    End Try
End Sub
-------------------------------------
حدث الاضافة

 Private Sub txtQuantity_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtQuantity.KeyPress
     Select Case Asc(e.KeyChar)
         Case 13
             AddTOCart()
         Case 48 To 57
         Case 8
         Case Else
             e.Handled = True
     End Select
 End Sub

جرب هذا التعديل 
PHP كود :
Sub LoadCart()
 
   Try
        Dim i 
As Integer 0
        Dim total 
As Double 0
        DataGridView1
.Rows.Clear()
 
       cn.Open()
 
       cm = New SqlCommand("SELECT * FROM tblCart AS r INNER JOIN tblProduct AS p ON r.CartProduct = ProductID INNER JOIN tblGeneric AS g ON p.ProductGeneric = GenericID INNER JOIN tblBrand AS b ON p.ProductBrand = BrandID INNER JOIN tblFromulation AS f ON p.ProductFromulation = FromulationID INNER JOIN tblClassification AS c ON p.ProductClassification = ClassificationID INNER JOIN tblType AS t ON p.ProductType = TypeID where CartInvoice like '" lblInvoice.Text "'"cn)
 
       dr cm.ExecuteReader
        While dr
.Read()
 
           i += 1
            DataGridView1
.Rows.Add(idr.Item("CartID").ToStringdr.Item("CartInvoice").ToStringdr.Item("GenericName").ToStringdr.Item("BrandName").ToStringdr.Item("FromulationName").ToStringdr.Item("ClassificationName").ToStringdr.Item("TypeName").ToStringdr.Item("ProductSalePrice").ToStringdr.Item("CartQuantity").ToStringFormat(CDate(dr.Item("ProductDate").ToString), "yyyy/MM"), dr.Item("CartTotal").ToString)
 
           total += CDbl(dr.Item("CartTotal").ToString)
 
       End While
 
       dr.Close()
 
       cn.Close()
 
       lblDisplayTotal.Text Format(total"#,##0")
 
   Catch ex As Exception
        cn
.Close()
 
       MsgBox(ex.MessagevbCritical)
 
   End Try
End Sub 

احسنت ووفقك الله لكل خير ان امكن توضيح التعديل وما هي المشكلة
الرد }}}
تم الشكر بواسطة:
#4
التعديل الرئيسي هنا هو استخدام While dr.Read() بدلاً من With dr.Read للتأكد من قراءة جميع الصفوف الموجودة في القارئ.
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}
تم الشكر بواسطة:
#5
(11-07-24, 10:13 AM)تركي الحلواني كتب : التعديل الرئيسي هنا هو استخدام While dr.Read() بدلاً من With dr.Read للتأكد من قراءة جميع الصفوف الموجودة في القارئ.

احسنت التوضيح
شكرا جزيلا
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: