تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في اضافة كافة حقول الـ DGV الى قاعدة البيانات
#1
السلام عليكم

لدي مشكلة في اضافة حقول الداتا قريت فيو فعندما اضيف الحقول الى قاعدة البيانات لاتضاف كل الحقول وانما يضاف صف واحد فقط !!

وهذا هو الكود الذي اعمل به ..


كود :
Try
           con.Open()
           cmd.Connection = con
           cmd.CommandText = "insert into TABLE1 (name,age) values (@name,@age)"

           cmd.Parameters.Add("@name", SqlDbType.VarChar, 10)
           cmd.Parameters.Add("@age", SqlDbType.Int)

           cmd.Prepare()


           For Each row As DataGridViewRow In dgv2.Rows
               If Not row.IsNewRow Then
                   cmd.Parameters("@name").Value = row.Cells(0).Value.ToString
                   cmd.Parameters("@age").Value = row.Cells(1).Value.ToString


               End If
           Next
           cmd.ExecuteNonQuery()
           MessageBox.Show("insert succes")
       Catch ex As Exception
           MessageBox.Show("Error :" & ex.ToString())
       Finally
           con.Close()
           dgv2.Rows.Clear()

       End Try
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم و رحمة الله
ربما ارفاق المشروع سيكون فكرة جيدة اخي الكريم .

اهلا و سهلا
الرد }}}
تم الشكر بواسطة:
#3
(13-04-17, 11:31 PM)Amir_alzubidy كتب : السلام عليكم و رحمة الله  
ربما ارفاق المشروع سيكون فكرة جيدة اخي الكريم .

اهلا و سهلا

مشكور على الاجابة والتفاعل مع المشكلة

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


الملفات المرفقة
.rar   insertdgv.rar (الحجم : 120.5 ك ب / التحميلات : 35)
الرد }}}
تم الشكر بواسطة:
#4
(14-04-17, 11:55 PM)khodor1985 كتب : السلام عليكم أخي العزيز ورحمة الله وبركاته
لقد تم إضافة قاعدة بيانات Access إلى مشروعك وإضافة نموذج بعنوان Form2 في نفس المشروع لعدم وجود قاعدة بيانات sql، وقد قمنا بتطبيق المثال بناء لطلبك.
المرفق بعد التعديل عليه :

مشكور اخي
ولكني اضفت القاعدة ولكن بداخل الملف , اسف على هذا الخطا كان يجب ان اضعها خارج الملف ولكني مبتدئ Big Grin 

الامر الثاني اني اعمل بفيجوال 2008 ولدي فيجوال 2010 ولكن يبدو انك تعمل بفيجوال اعلى لذلك لم يفتح معي المشروع Sad

انا اسف تعبتك معاي

انا اسف اخي khodor1985 لا اريد ان اتعبك معي فقط اكتب لي كود 'الحفظ ' اذا امكن وانا ساجربة وان عمل او لم يعمل ساعلمك
الرد }}}
تم الشكر بواسطة:
#5
(15-04-17, 12:18 AM)khodor1985 كتب : لقد تم التعديل على إصدار المشروع بناء لطلبك
المشروع بعد التعديل عليه :


PHP كود :
Imports System.Data.OleDb
Imports System
.Data
Public Class Form2
    Dim con 
As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\MyDb.accdb")
 
   Dim cmd As OleDbCommand
    Dim da 
As OleDbDataAdapter
    Dim dt 
As DataTable
    Dim sqlstr 
As String

    Sub loadPerson
()
 
       Try
            dgvPerson
.Rows.Clear()
 
           sqlstr "Select * from Person"
 
           da = New OleDbDataAdapter(sqlstrcon)
 
           dt = New DataTable("Person")
 
           da.Fill(dt)
 
           For Each rw As DataRow In dt.Rows
                dgvPerson
.Rows.Add(rw(0), rw(1), rw(2))
 
           Next
        Catch ex 
As Exception
            MessageBox
.Show(ex.Message)
 
       End Try
 
   End Sub

    Sub InsertPerson
()
 
       Try
            con
.Open()

 
           For Each rw As DataGridViewRow In dgvPerson.Rows
                sqlstr 
"Insert Into Person(Fname,Age) Values(@Fname,@Age)"
 
               cmd = New OleDbCommand(sqlstrcon)
 
               cmd.Parameters.Add("@Fname"OleDbType.VarWChar).Value rw.Cells(1).Value.ToString()
 
               cmd.Parameters.Add("@Age"OleDbType.VarWChar).Value rw.Cells(2).Value.ToString()
 
               cmd.ExecuteNonQuery()
 
           Next
            con
.Close()
 
       Catch ex As Exception

        End 
Try
 
   End Sub

    Sub DeleteAllPerson
()
 
       Try
            con
.Open()
 
           sqlstr "Delete From Person"
 
           cmd = New OleDbCommand(sqlstrcon)
 
           cmd.ExecuteNonQuery()
 
           con.Close()
 
       Catch ex As Exception

        End 
Try
 
   End Sub

    Private Sub btnSave_Click
(sender As ObjectAs EventArgsHandles btnSave.Click
        DeleteAllPerson
()
 
       InsertPerson()
 
       loadPerson()
 
   End Sub

    Private Sub Form2_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        loadPerson
()
 
   End Sub
End 
Class 
انا اسف جدا ولكني عدلت على قاعده البيانات سيرفر ولكنها لم تنجح معي ونفس المشكلة يحفظ صف واحد فقط.. جدا اسف ولكن لو تكرمت وعدلت على الاسكيول سيرفر تكون ماقصرت معي .. لقد ارفقت لك قاعدة البيانات ..


الملفات المرفقة
.rar   dgvinsert.rar (الحجم : 131.25 ك ب / التحميلات : 34)
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy , Amir_Alzubidy
#6
(15-04-17, 01:08 AM)khodor1985 كتب : ماشي

أخي العزيز في مشكلة في ملف الـ Backup
إما أن ترفق نلف الـ Backup من جديد أو تعمل DeAttach للقاعدة لكي تتمكن من ضغطها ورفعها

طيب شوف أنا رح أعمل مثال نفس مثالك على قاعدة بيانات من نو ع Sql.

اخي خلاص كودك نفز .. انا غلطت في التعديل في شي ماانتبهت لاني اعدله


انا ااااااااااسف جدا والله تعبتك معاي كتير كتير بس ربنا يجعله في ميزان حسناتك ان شاءالله .. بجد كل كلمات الشكر ماتوفيك حقك بس ماعارف كيف اعبر ..

شكرررررررررررررررررررررررا .. ومرة ثانية اسف لتعبك معاي
الرد }}}
تم الشكر بواسطة: khodor1985 , khodor1985 , Amir_Alzubidy , Amir_Alzubidy
#7
           هذا الكود يدخل كافه حقول داتا جريد فيو  vb.net2008 whith sql server 2005

 For Each row As DataGridViewRow In DataGridView1.Rows

                Dim cmd3 As SqlCommand = con.CreateCommand
                cmd3.CommandText = "Insert Into article_utilise(code_article, designation,prix_achat, quantite1,date11,N_OP) " & _
                "values (@code_article, @designation,@prix_achat, @quantite1,@date11,@N_OP)"


                cmd3.Parameters.AddWithValue("@code_article", row.Cells(0).Value)
                cmd3.Parameters.AddWithValue("@designation", row.Cells(1).Value)
                cmd3.Parameters.AddWithValue("@prix_achat", row.Cells(2).Value)
                cmd3.Parameters.AddWithValue("@quantite1", row.Cells(3).Value)
                cmd3.Parameters.AddWithValue("@date11", row.Cells(4).Value)
                cmd3.Parameters.AddWithValue("@N_OP", TextBoxNOP.Text)

                cmd3.ExecuteNonQuery()
                cmd3.Dispose()

            Next
الرد }}}
تم الشكر بواسطة: khodor1985 , khodor1985 , كود برمجي
#8
(15-04-17, 08:47 PM)samawi كتب :
           هذا الكود يدخل كافه حقول داتا جريد فيو  vb.net2008 whith sql server 2005

 For Each row As DataGridViewRow In DataGridView1.Rows

                Dim cmd3 As SqlCommand = con.CreateCommand
                cmd3.CommandText = "Insert Into article_utilise(code_article, designation,prix_achat, quantite1,date11,N_OP) " & _
                "values (@code_article, @designation,@prix_achat, @quantite1,@date11,@N_OP)"


                cmd3.Parameters.AddWithValue("@code_article", row.Cells(0).Value)
                cmd3.Parameters.AddWithValue("@designation", row.Cells(1).Value)
                cmd3.Parameters.AddWithValue("@prix_achat", row.Cells(2).Value)
                cmd3.Parameters.AddWithValue("@quantite1", row.Cells(3).Value)
                cmd3.Parameters.AddWithValue("@date11", row.Cells(4).Value)
                cmd3.Parameters.AddWithValue("@N_OP", TextBoxNOP.Text)

                cmd3.ExecuteNonQuery()
                cmd3.Dispose()

            Next
مشكور اخي ماقصرت ^^ ..

من جد انتو كلكم زي الاخوة واجمل شي كل شخص يعطي الاخر جهده وزمن من وقتة وبلا مقابل في سبيل المساعدة .. ربنا يجزاكم خير ان شاءالله
الرد }}}
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم