منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اتمنى المساعدة في DataGridView vb.net2015
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
الكود

كود :
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.

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

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

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

موفقين
السلام عليكم

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

Additional information: Data type mismatch in criteria expression.

ومكان الخطأ
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)

موفقين
الكود تبعك يوجد به مشكلة بعد والمشكلة تقول ان :
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)
سلام

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

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

فهل من مغيث ؟؟
سلام

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

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

http://adf.ly/1L6Dp8

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

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

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

فكل اللي انا عملته خذفت المسافات في جملت 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

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

موفقين
الصفحات : 1 2