منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] اتمنى المساعدة في DataGridView vb.net2015 - نسخة قابلة للطباعة

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

الصفحات: 1 2


اتمنى المساعدة في DataGridView vb.net2015 - 0theghost0 - 19-07-15

الكود

كود :
Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")

        For i As Integer = 0 To DataGridView1.Rows.Count - 1

            If i > DataGridView1.Rows.Count - 1 Then Exit For

            Dim sql As String =
            " INSERT INTO [Rent_Equipment] " &
            " (  Cus_ID,  Cus_Name,  Cus_Private_Number,  Equ_ID, Equ_Name, Equ_Quantity, Equ_Price, @Ren_Date ) " &
            " VALUES " &
            " ( @Cus_ID, @Cus_Name, @Cus_Private_Number, @Equ_ID, @Equ_Name, @Equ_Quantity, @Equ_Price, @Ren_Date ) "

            Dim cmd As New OleDbCommand(sql, conn)


            cmd.Parameters.AddWithValue("@Equ_ID", DataGridView1.Rows(i).Cells(0).Value)
            cmd.Parameters.AddWithValue("@Equ_Name", DataGridView1.Rows(i).Cells(1).Value)
            cmd.Parameters.AddWithValue("@Equ_Quantity", DataGridView1.Rows(i).Cells(2).Value)

            cmd.Parameters.AddWithValue("@Cus_ID", ComboBox1.Text)
            cmd.Parameters.AddWithValue("@Cus_Name", TextBox1.Text)
            cmd.Parameters.AddWithValue("@Cus_Private_Number", TextBox2.Text)
            cmd.Parameters.AddWithValue("@Equ_Price", TextBox4.Text)
            cmd.Parameters.AddWithValue("@Ren_Date", DateTimePicker1.Value.Date)

            conn.Open()
            cmd.ExecuteNonQuery()
            conn.Close()

            MessageBox.Show("We have been successfully Date", "Congratulations", MessageBoxButtons.OK, MessageBoxIcon.Information)

            i += 1
        Next i

مكان الخطا             cmd.ExecuteNonQuery()
الخطا يقول 
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll


Additional information: The INSERT INTO statement contains the following unknown field name: '@Ren_Date'.  Make sure you have typed the name correctly, and try the operation again.

ما الحل يا اخواني ؟؟


RE: اتمنى المساعدة في DataGridView vb.net2015 - الطالب - 19-07-15

سلام

بيقول ان لا يوجد عمود بالاسم Ren_Date@ لو تلاحظ سطر اسماء الاعمده اللي قبل VALUES احذف علامه @ وليس بسطر البارامترات

ركز فيها تلاقيك وضعت علامه البارامتر مكان اسم العمود
[URL="http://www.up-00.com/"][/URL]

موفقين


RE: اتمنى المساعدة في DataGridView vb.net2015 - 0theghost0 - 19-07-15

السلام عليكم

من جديد رجعت لكم وشكرا لك على مجهودك الرائع معي ولكن الخطأ نفسه وتغير نوع الخطأ
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll

Additional information: Data type mismatch in criteria expression.

ومكان الخطأ
cmd.ExecuteNonQuery()

فهل هناك شيء جديد اضيفه او احذفه ارجو ان تتأكد لي من الكود بالكامل لو سمحت


RE: اتمنى المساعدة في DataGridView vb.net2015 - الطالب - 19-07-15

سلام

باقي غليك ترتيب اسطر البارامترات متطابقه للترتيب في حملت اسكيوال
كود :
Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
conn.Open()

For Each row As DataGridViewRow In DataGridView1.Rows

Dim sql As String =
" INSERT INTO [Rent_Equipment] " &
" (  Cus_ID,  Cus_Name,  Cus_Private_Number,  Equ_ID,  Equ_Name,  Equ_Quantity,  Equ_Price,  Ren_Date ) " &
" VALUES " &
" ( @Cus_ID, @Cus_Name, @Cus_Private_Number, @Equ_ID, @Equ_Name, @Equ_Quantity, @Equ_Price, @Ren_Date ) "
Using cmd As New OleDbCommand(sql, conn)
cmd.Parameters.AddWithValue("@Cus_ID", ComboBox1.Text)
cmd.Parameters.AddWithValue("@Cus_Name", TextBox1.Text)
cmd.Parameters.AddWithValue("@Cus_Private_Number", TextBox2.Text)
cmd.Parameters.AddWithValue("@Equ_ID", row.Cells(0).Value)
cmd.Parameters.AddWithValue("@Equ_Name", row.Cells(1).Value)
cmd.Parameters.AddWithValue("@Equ_Quantity", row.Cells(2).Value)
cmd.Parameters.AddWithValue("@Equ_Price", TextBox4.Text)
cmd.Parameters.AddWithValue("@Ren_Date", DateTimePicker1.Value.Date)

cmd.ExecuteNonQuery()

End Using

Next

conn.Close()
End Using

MessageBox.Show("We have been successfully Date", "Congratulations", MessageBoxButtons.OK, MessageBoxIcon.Information)

موفقين


RE: اتمنى المساعدة في DataGridView vb.net2015 - 0theghost0 - 19-07-15

الكود تبعك يوجد به مشكلة بعد والمشكلة تقول ان :
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll

Additional information: The INSERT INTO statement contains the following unknown field name: ' Cus_ID'. Make sure you have typed the name correctly, and try the operation again.

هذا هو مكان الخطأ
cmd.ExecuteNonQuery()

الكود التي قمت بإضافته

Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
conn.Open()

For Each row As DataGridViewRow In DataGridView1.Rows

Dim sql As String =
" INSERT INTO [Rent_Equipment] " &
" ( Cus_ID, Cus_Name, Cus_Private_Number, Equ_ID, Equ_Name, Equ_Quantity, Equ_Price, Ren_Date ) " &
" VALUES " &
" ( @Cus_ID, @Cus_Name, @Cus_Private_Number, @Equ_ID, @Equ_Name, @Equ_Quantity, @Equ_Price, @Ren_Date ) "
Using cmd As New OleDbCommand(sql, conn)
cmd.Parameters.AddWithValue("@Cus_ID", ComboBox1.Text)
cmd.Parameters.AddWithValue("@Cus_Name", TextBox1.Text)
cmd.Parameters.AddWithValue("@Cus_Private_Number", TextBox2.Text)
cmd.Parameters.AddWithValue("@Equ_ID", row.Cells(0).Value)
cmd.Parameters.AddWithValue("@Equ_Name", row.Cells(1).Value)
cmd.Parameters.AddWithValue("@Equ_Quantity", row.Cells(2).Value)
cmd.Parameters.AddWithValue("@Equ_Price", TextBox4.Text)
cmd.Parameters.AddWithValue("@Ren_Date", DateTimePicker1.Value.Date)

cmd.ExecuteNonQuery()

End Using

Next

conn.Close()
End Using

MessageBox.Show("We have been successfully Date", "Congratulations", MessageBoxButtons.OK, MessageBoxIcon.Information)


RE: اتمنى المساعدة في DataGridView vb.net2015 - الطالب - 20-07-15

سلام

تاكد من اسم العمود Cus_ID في الجدول Rent_Equipment وبالمره راجع بفيه اسما الاعمده
ولاجظ اذا يوجد عمود ترقيم تلقائي فما فيه داعي تضعه في جمله اسكيوال

موفقين


RE: اتمنى المساعدة في DataGridView vb.net2015 - 0theghost0 - 20-07-15

راجعت جميع الاكواد ومثل الشيء الخطأ

فهل من مغيث ؟؟


RE: اتمنى المساعدة في DataGridView vb.net2015 - الطالب - 20-07-15

سلام

هل عملت مثل ما خبرتك في ردي الاخير من مراجعه اسم الاعمده في قاعدت البيانات
اذا استمرت المشكله ضع مشروعك لنشوف

موفقين


RE: اتمنى المساعدة في DataGridView vb.net2015 - 0theghost0 - 20-07-15

هذا هو مشروعي واتمنى ان ترفق معاه الشرح مصور حق استوعب الخطأ الى مشيت عليه
ولو تكرمت ارفق لي بريدك الالكتروني حق اتواصل معاك مباشرة او رقم هاتفك الواتس اب
رابط التحميل

http://adf.ly/1L6Dp8

وشكرا لك اخي الفاضل


RE: اتمنى المساعدة في DataGridView vb.net2015 - الطالب - 20-07-15

سلام

اتضحت المشكله في المسافات المشوهه

اوضح اكثر احيانا عند النسخ كود من اي صفحه من المتصفح تتغير رموز بعض الاحرف
وغالبا تكون المسافه فتشاهد مسافه مشوهه يعتي شكلها مسافه ولكنها رمز شبيه بالمسافه
شرح هذع المشكله قراته في احد المنتدات

فكل اللي انا عملته خذفت المسافات في جملت sql واعدت كتابتها واختفت المشكله

كود :
Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
    conn.Open()

    For Each row As DataGridViewRow In DataGridView1.Rows

        If row.Cells(0).Value Is Nothing Then Exit For

Dim sql As String =
" INSERT INTO [Rent_Equipment] " &
" ( Cus_ID, Cus_Name, Cus_Private_Number, Equ_ID, Equ_Name, Equ_Quantity, Equ_Price, Ren_Date ) " &
" VALUES " &
" ( @Cus_ID, @Cus_Name, @Cus_Private_Number, @Equ_ID, @Equ_Name, @Equ_Quantity, @Equ_Price, @Ren_Date ) "
        Using cmd As New OleDbCommand(sql, conn)
            cmd.Parameters.AddWithValue("@Cus_ID", ComboBox1.Text.ToString)
            cmd.Parameters.AddWithValue("@Cus_Name", TextBox1.Text.ToString)
            cmd.Parameters.AddWithValue("@Cus_Private_Number", TextBox2.Text.ToString)
            cmd.Parameters.AddWithValue("@Equ_ID", row.Cells(0).Value.ToString)
            cmd.Parameters.AddWithValue("@Equ_Name", row.Cells(1).Value.ToString)
            cmd.Parameters.AddWithValue("@Equ_Quantity", row.Cells(2).Value.ToString)
            cmd.Parameters.AddWithValue("@Equ_Price", TextBox4.Text.ToString)
            cmd.Parameters.AddWithValue("@Ren_Date", DateTimePicker1.Value.ToString)

            cmd.ExecuteNonQuery()

        End Using

    Next

    conn.Close()
End Using

وضعت شرط خروج من الحلقه اذا وصل للسطر الاخير الفارغ

موفقين