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

نسخة كاملة : هل يمكن حفظ البيانات من dataGridView مباشرة؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
ببعض الاجتهادات وتركيب الاكواد التي تحصلت عليها وتعديلها توصلت إلى طريقة لحفظ البيانات المعدلة أو المضافة إلى dataGridView عن طريق استخدام خاصية التكرار for

وهذا الكود المستعمل:

كود :
    int i;
           for (i = 0; i < dataGridView1.Rows.Count; i++)
           {
                   sqlcon.Open();
                   string sql = "UPDATE T1 SET  f1 = @param2, f2 = @param3  WHERE f3 = @param1 ";
                   SqlCommand cmd = new SqlCommand(sql, sqlcon);
                   
                   cmd.Parameters.Add("@param1", SqlDbType.Int).Value = dataGridView1[0, i].Value.ToString();
                   cmd.Parameters.Add("@param2", SqlDbType.VarChar, 50).Value =Convert.ToString(dataGridView1[2, i].Value.ToString());
                   cmd.Parameters.Add("@param3", SqlDbType.VarChar, 50).Value = Convert.ToString(dataGridView1[3, i].Value.ToString());
               
                   cmd.CommandType = CommandType.Text;
                   cmd.ExecuteNonQuery();
                   sqlcon.Close();
}

سؤالي :
هذه الطريقة عملت معي بشكل جيد في التحديث والإضافة لكن:
- هل هي طريقة عملية لا تخلف مشاكل؟
- هل هناك طريقة مختصرة تمكنني من عمل هذا ؟
راجع الموضوع التالي
http://vb4arb.com/vb/showthread.php?tid=21377
استعمل هذا الكود لملء جدول الداتا

كود :
da = new OleDbDataAdapter("SELECT T1.f1, T1.f2, T2.f2, T2.f3, T1.f3, T1.f4,"+
           "T1.f5 FROM T2 INNER JOIN T1 ON T2.f1= T1.f1 WHERE (((T1.f1)="+Convert.ToString(Combobox1.SelectedIndex)+"))", con);
           da.Fill(dt);
           datagridview1.DataSource = dt;
وجدت هذا الكود 
كود :
scb = new OleDbCommandBuilder(da);
 
           da.Update(dt);
وعند طلب التحديث يقول

هذه المشكلة قد حللتها من قبل بإدخال معرف السجل في نص الاستعلام كشرط
لكن لو أدخلته هنا فلن يعرض الا سجلا واحدا !!
ولو وضعت OleDbDataAdapter جديدا فلن يحفظ 
هل من حل؟
لقد وجدت الحل



من هنا

[/url]

[url=https://www.youtube.com/watch?v=_i4mYXSaD4w]لكن المشكل أنه لا يقبل ذلك مع الجداول المترابطة نفي الرسالة السابقة