تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تحويل كود حفظ الى كلاس عام
#1
السلام عليكم ورحمة الله تعالى وبركاته
الى خبراء ااسيكول
 هذا كود حفظ وتعديل البيانات من الداتا فيو مباشرا
كود :
private void button1_Click(object sender, EventArgs e)
       {
           for (int i = 0; i < dgvEmployee.Rows.Count - 1; i++)
           {
               try
               {
                   using (SqlConnection sqlCon = new SqlConnection(@"server=.; Database=Accounts; Integrated Security=true"))
                   {
                       String sqlstrdd = "select * from Employee where EmployeeID='" + dgvEmployee.Rows[i].Cells[0].Value + "'";
                       System.Data.SqlClient.SqlDataAdapter dt1 = new System.Data.SqlClient.SqlDataAdapter(sqlstrdd, sqlCon);
                       DataTable dset1 = new DataTable();
                       dset1.Clear();
                       dt1.Fill(dset1);
                       //----------------------------------------
                       SqlCommand sqlCmd = new SqlCommand();
                       sqlCmd.CommandType = CommandType.Text;
                       string SqlStr = string.Empty;
                       if (dset1.Rows.Count == 0)//Insert
                       {
                           SqlStr = "INSERT INTO Employee(Name,PositionID,Office,Age)VALUES (@Name,@PositionID,@Office,@Age)";
                           sqlCmd = new SqlCommand(SqlStr, sqlCon);
                           sqlCmd.Parameters.AddWithValue("@Name", dgvEmployee.Rows[i].Cells[1].Value == DBNull.Value ? "" : dgvEmployee.Rows[i].Cells[1].Value.ToString());
                           sqlCmd.Parameters.AddWithValue("@PositionID", Convert.ToInt32(dgvEmployee.Rows[i].Cells[2].Value == DBNull.Value ? "0" : dgvEmployee.Rows[i].Cells[2].Value.ToString()));
                           sqlCmd.Parameters.AddWithValue("@Office", dgvEmployee.Rows[i].Cells[3].Value == DBNull.Value ? "" : dgvEmployee.Rows[i].Cells[3].Value.ToString());
                           sqlCmd.Parameters.AddWithValue("@Age", Convert.ToInt32(dgvEmployee.Rows[i].Cells[4].Value == DBNull.Value ? "0" : dgvEmployee.Rows[i].Cells[4].Value.ToString()));
                       }
                       else//update
                       {
                           SqlStr = "UPDATE Employee SET Name = @Name,PositionID = @PositionID,Office = @Office,Age = @Age WHERE EmployeeID = @EmployeeID";
                           sqlCmd = new SqlCommand(SqlStr, sqlCon);
                           sqlCmd.Parameters.AddWithValue("@EmployeeID", Convert.ToInt32(dgvEmployee.Rows[i].Cells[0].Value));
                           sqlCmd.Parameters.AddWithValue("@Name", dgvEmployee.Rows[i].Cells[1].Value == DBNull.Value ? "" : dgvEmployee.Rows[i].Cells[1].Value.ToString());
                           sqlCmd.Parameters.AddWithValue("@PositionID", Convert.ToInt32(dgvEmployee.Rows[i].Cells[2].Value == DBNull.Value ? "0" : dgvEmployee.Rows[i].Cells[2].Value.ToString()));
                           sqlCmd.Parameters.AddWithValue("@Office", dgvEmployee.Rows[i].Cells[3].Value == DBNull.Value ? "" : dgvEmployee.Rows[i].Cells[3].Value.ToString());
                           sqlCmd.Parameters.AddWithValue("@Age", Convert.ToInt32(dgvEmployee.Rows[i].Cells[4].Value == DBNull.Value ? "0" : dgvEmployee.Rows[i].Cells[4].Value.ToString()));
                       }
                       sqlCon.Open();
                       sqlCmd.ExecuteNonQuery();
                       sqlCon.Close();
                   }
               }
               catch (Exception ex)
               {
                   MessageBox.Show(ex.Message.ToString());
               }
           }
           PopulateDataGridView();
           MessageBox.Show("Win............");
       }
لدي المشروع مستخدم به عدد كبير من الداتا فيو ويتم حفظ وتعديل البيانات من خلاال هذا الكود مع تغيير اسماء الجداول واسماء الحقول
ولذلك بقوم بنكرار هذا الكود بعدد كل داتا فيو  
لعدم تكرار الكود هل من الممكن عمل كلاس على مسنوى المشروع الغرض منه تخفيف هذا الكود بحيث اقوم بوضع اسم الجدول والحقول داخل مفتاح حفظ البيانات
يارب تكون الفكره وضحت
ولم منى جزيل الشكر والاحترام
يخفف هذا الكو
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في كلاس سطور الحياة 3 1,137 06-06-23, 09:47 AM
آخر رد: fouadhdfouad
  [C#.NET] تحويل كود ahmed_king2023 2 867 06-06-23, 09:44 AM
آخر رد: fouadhdfouad
  [VB.NET] تحويل كود ahmed_king2023 6 1,308 22-04-23, 11:30 PM
آخر رد: ahmed_king2023
  [C#.NET] تحويل كود الي c# ali_ahmed12 2 829 10-01-23, 03:02 PM
آخر رد: ali_ahmed12
  [C#.NET] تحويل كود الي c# ali_ahmed12 2 933 03-12-22, 03:52 PM
آخر رد: ali_ahmed12
  [VB.NET] تحويل كود الي c# ali_ahmed12 5 1,237 30-11-22, 07:32 PM
آخر رد: ali_ahmed12
  [VB.NET] تحويل كود الي c# ali_ahmed12 0 645 29-11-22, 06:30 PM
آخر رد: ali_ahmed12
  [C#.NET] تحويل كود تالي الي c# ali_ahmed12 5 1,243 17-11-22, 04:25 AM
آخر رد: yaser27
  [C#.NET] تحويل كود الي c# ali_ahmed12 2 1,397 02-11-22, 05:54 PM
آخر رد: الماجيك مسعد
  تحويل دالة ali_ahmed12 11 2,543 16-10-22, 02:32 PM
آخر رد: Meen2

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


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