تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
لم يتم تعيين مرجع لكائن مثيل
#1
اخوتي الاعزاء واجهت مشكلة مع زر حفظ صلاحيات محدد للمستخدمين والمشكلة هي عند حفظ الصلاحيات يعطي خطا (لم يتم تعيين مرجع لكائن مثيل)
و الكود مدرج ادناه و الخطا موضح في الصورة
كود :
 {
           int userId = Convert.ToInt32(list_user.SelectedValue);
           for (int i = 0; i < dataGridView1.Rows.Count;   i++)
        {
            int Screen_No = Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value);
            Boolean Dis = dataGridView1.Rows[i].Cells[3].Value.Equals(true || false);
            Boolean Add = dataGridView1.Rows[i].Cells[4].Value.Equals(true || false);
            Boolean Edit = dataGridView1.Rows[i].Cells[5].Value.Equals(true || false);
            Boolean Delete = dataGridView1.Rows[i].Cells[6].Value.Equals(true || false);
            SqlCommand cmd = new SqlCommand("UPDATE TB_Priv SET Priv_Display=@Priv_Display,Priv_Add=@Priv_Add,Priv_Edit=@Priv_Edit,Priv_Delete=@Priv_Delete  where Priv_User_ID=@User_ID and Priv_Screen_ID=@Screen_ID", con);
            cmd.Parameters.Add(new SqlParameter("@Priv_Display",SqlDbType.Bit)).Value = Dis;
            cmd.Parameters.Add(new SqlParameter("@Priv_Add", SqlDbType.Bit)).Value = Add;
            cmd.Parameters.Add(new SqlParameter("@Priv_Edit", SqlDbType.Bit)).Value = Edit;
            cmd.Parameters.Add(new SqlParameter("@Priv_Delete", SqlDbType.Bit)).Value = Delete;
            cmd.Parameters.Add(new SqlParameter("@User_ID", SqlDbType.Int)).Value = userId;
            cmd.Parameters.Add(new SqlParameter("@Screen_ID", SqlDbType.Int)).Value = Screen_No;
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();

           }
           MessageBox.Show("تم التعديل");
            }


الملفات المرفقة صورة/صور
   
الرد
تم الشكر بواسطة:
#2
تأكد من ان قيمة الخلية ليست null


واذا كانت الخلية checkbox الافضل استبدل 

كود :
dataGridView1.Rows[i].Cells[3].Value.Equals(true || false)

ب
كود :
Convert.Toboolean(dataGridView1.Rows[i].Cells[3].Value)
الرد
تم الشكر بواسطة:
#3
شكرا جزيلا لك اخي العزيز
قد استخدم دالة Try لان الحقول قبل اعطاء الصلاحيات تكون noll
وقد حل المشكلة لكن هل يسبب مشاكل في المستقبل مع الشكر
الرد
تم الشكر بواسطة:


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


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