منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
اضافة جدول تفاصيل فاتورة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : اضافة جدول تفاصيل فاتورة (/showthread.php?tid=42586)



اضافة جدول تفاصيل فاتورة - ali_ahmed12 - 30-09-22

السلام عليكم عندما اقوم باضافة في جدول تفاصيل فاتورة يظهر هدا خطا ما الحل
كود مرفقا مع صورة خطا اثناء الحفظ 
اسماء اعمدة جدول Tbl_Order_detils
id_product,id_order,qty,price,amount
كود :
 Dim id_product, qty As Integer
       Dim price, amount As Decimal
       q1 = "insert into Tbl_Order_detils (id_product,id_order,qty,price,amount) values (@id_product,@id_order,@qty,@price,@amount)"

       For i = 0 To DGV_PRODUCT.RowCount - 1
           id_product = DGV_PRODUCT.Rows(i).Cells(0).Value
           qty = DGV_PRODUCT.Rows(i).Cells(2).Value
           price = DGV_PRODUCT.Rows(i).Cells(3).Value
           amount = DGV_PRODUCT.Rows(i).Cells(4).Value

           cmd.Parameters.Add(New SqlParameter("@id_product", SqlDbType.Int)).Value = id_product
           cmd.Parameters.Add(New SqlParameter("@id_order", SqlDbType.Int)).Value = ID_order
           cmd.Parameters.Add(New SqlParameter("@qty", SqlDbType.Int)).Value = qty
           cmd.Parameters.Add(New SqlParameter("@price", SqlDbType.Decimal)).Value = price
           cmd.Parameters.Add(New SqlParameter("@amount", SqlDbType.Decimal)).Value = amount
           cmd.ExecuteNonQuery()
       Next
       Module1.con.Close()
       MsgBox("تمت اضافة بنجاح")

(30-09-22, 06:36 PM)ali_ahmed12 كتب : السلام عليكم عندما اقوم باضافة في جدول تفاصيل فاتورة يظهر هدا خطا ما الحل
كود مرفقا مع صورة خطا اثناء الحفظ 
اسماء اعمدة جدول Tbl_Order_detils
id_product,id_order,qty,price,amount
كود :
 Dim id_product, qty As Integer
       Dim price, amount As Decimal
       q1 = "insert into Tbl_Order_detils (id_product,id_order,qty,price,amount) values (@id_product,@id_order,@qty,@price,@amount)"

       For i = 0 To DGV_PRODUCT.RowCount - 1
           id_product = DGV_PRODUCT.Rows(i).Cells(0).Value
           qty = DGV_PRODUCT.Rows(i).Cells(2).Value
           price = DGV_PRODUCT.Rows(i).Cells(3).Value
           amount = DGV_PRODUCT.Rows(i).Cells(4).Value

           cmd.Parameters.Add(New SqlParameter("@id_product", SqlDbType.Int)).Value = id_product
           cmd.Parameters.Add(New SqlParameter("@id_order", SqlDbType.Int)).Value = ID_order
           cmd.Parameters.Add(New SqlParameter("@qty", SqlDbType.Int)).Value = qty
           cmd.Parameters.Add(New SqlParameter("@price", SqlDbType.Decimal)).Value = price
           cmd.Parameters.Add(New SqlParameter("@amount", SqlDbType.Decimal)).Value = amount
           cmd.ExecuteNonQuery()
       Next
       Module1.con.Close()
       MsgBox("تمت اضافة بنجاح")

تم تعديل كود ولايزال خطا كوجود 
PHP كود :
  '====جلب معرف فاتورة
        cmd = New SqlCommand("select max(id_order) from Tbl_Orderes  ", Module1.con)
        Dim dr As SqlDataReader = cmd.ExecuteReader
        dr.Read()
        Dim ID_order As Integer = dr(0)
        dr.Close()



        ''اضافة تفاصيل فاتورة موجوده داتا قريد فيو
        Dim id_product, qty As Integer
        Dim price, amount As Decimal
        q1 = "insert into Tbl_Order_detils (id_productوid_order,qty,price,amount) values ('" & txtid.Text.Trim() & "'," & ID_order & ",'" & txtqty.Text.Trim() & "','" & txtprice.Text.Trim() & "','" & txtamount.Text.Trim() & "')"

        For i = 0 To DGV_PRODUCT.RowCount - 1
            id_product = DGV_PRODUCT.Rows(i).Cells(0).Value
            qty = DGV_PRODUCT.Rows(i).Cells(2).Value
            price = DGV_PRODUCT.Rows(i).Cells(3).Value
            amount = DGV_PRODUCT.Rows(i).Cells(4).Value
            cmd = New SqlCommand(q1, Module1.con)

            id_product = Val(txtid.Text)
            ID_order = dr(0)
            qty = Val(txtqty.Text)
            price = Val(txtprice.Text)
            amount = Val(txtamount.Text)
            cmd.ExecuteNonQuery()
        Next
        Module1.con.Close()
        MsgBox("تمت اضافة بنجاح")
    End Sub 



RE: اضافة جدول تفاصيل فاتورة - أبو خالد الشكري - 30-09-22

حسب رسالة الخطأ
يقول بأن المتغير الذي اسمه id_product
قد تم الإعلان عنه سابقا !
حاول أن تعدل السطر التالي :
Dim id_product, qty As Integer
وتجعله فقط هكذا :
Dim qty As Integer

وشوف النتيجة .


RE: اضافة جدول تفاصيل فاتورة - ali_ahmed12 - 30-09-22

(30-09-22, 07:07 PM)أبو خالد الشكري كتب : حسب رسالة الخطأ
يقول بأن المتغير الذي اسمه  id_product
قد تم الإعلان عنه سابقا !
حاول أن تعدل السطر التالي :
Dim id_product, qty As Integer
وتجعله فقط هكذا :
Dim  qty As Integer

وشوف النتيجة .

Id_order مفتاح اجنبي في جدول الذي ادخل فيه ومفتاح رءيسي في جدول orders بي ماذا اعوض عليه هنا في جمله ادخال


RE: اضافة جدول تفاصيل فاتورة - Taha Okla - 30-09-22

عرفها بإضافة رقم واحد إليها  مثلاً : 
كود :
       Dim id_product1, qty1 As Integer
       Dim price1, amount1 As Decimal
ولا تنسى تعديلها في باقي الكود في نفس الاجراء (لا تعدلها خارج الاجراء).


RE: اضافة جدول تفاصيل فاتورة - ali_ahmed12 - 30-09-22

(30-09-22, 07:58 PM)Taha Okla كتب : عرفها بإضافة رقم واحد إليها  مثلاً : 
كود :
       Dim id_product1, qty1 As Integer
       Dim price1, amount1 As Decimal
ولا تنسى تعديلها في باقي الكود في نفس الاجراء (لا تعدلها خارج الاجراء).

id_order مفتاح اجنبي في جدول الذي ادخل فيه ماذا ادخل فيه في جملة ادخال


RE: اضافة جدول تفاصيل فاتورة - Taha Okla - 30-09-22

نفس الشيء أضف عرفه بشيء مميز مثلا باضافة الرقم واحد :

كود :
Dim ID_order1 As Integer = dr(0)


التعديل يكون للمتغيرات المعرفة وليس داخل قاعدة البيانات ولا داخل جمل الاستعلام..

=============
نصيحة :
خصص من وقتك ساعة إلى أكبر قدر ممكن من الساعات لتعلم الأساسيات،
فإن لن تفعل ستتعذب كثيراً في هذه سواء في اللغة أو غيرها..
ولن تجد دوماً من يرشدك للحل،
حتى أن الحلول التي نقدمها لك ليس بالضرورة أن تكون صحيحة لأننا لا نقف على المشكلة كما تقف عليها..