تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تغير كود من vb.net ال سي شارب
#21
(10-07-19, 05:05 AM)amonem كتب :
(10-07-19, 03:46 AM)asemshahen5 كتب : هل جربت الكود عند الانتقال من خلية الاسم الى خلية اخرى في سجل جديد تتم عملية حفظ سجل جديد و عند التعديل في أي خلية محفوظة والانتقال الى خلية اخرى تتم عملية التعديل تماما .
عندي سؤال ممكن تشرح هذه النقطة : عند اختيار أكثر من بند للموظف بيتم اضافه سطر واحد فقط فهذا مستحيل لان الكود مكتوب في حدث dgvEmployee_CellValueChanged

ضع مثال مع وضع علامات في أسطر الكود الذي تريد تعديله .

أما بالنسبة لوضع حلقة فور فلا داعي لها لأنه عند كتابة أي شيء في أي خلية والانتقال لخلية أخرى يتم حفظ الخلية السابقة سواء كانت في سجل جديد او سجل مراد تعديله .

انا اسف لو بتقل عليك 
ونا معاك فى كل كلامك لكن الفرق انى وضع الكود في مفتاح  خاص بالحفظ 
وليس فى حدث dgvEmployee_CellValueChanged
ولذلك يفضل استخدامحلقة فور

مفيش مشكلة لكن للعلم حلقة الفور تسبب بطء في عمل البرنامج أي لو في عندك 100 سجل أو أكثر .
عمل حفظ سجل جديد أو تعديل سجل موجود سيأخذ وقت طويل و اذا كان البرنامج على شبكة سيسبب المشاكل . 

PHP كود :
       private void button1_Click(object senderEventArgs e)
 
       {
 
           for (int i 0dgvEmployee.Rows.Count 1i++)
 
           {
 
               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(sqlstrddsqlCon);
 
                       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(SqlStrsqlCon);
 
                           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(SqlStrsqlCon);
 
                           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............");
 
       



تفضل تذكر ما قلته لك كود الفور على الجدول يسبب بطء و على الشبكة سيسبب مشاكل .
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
تغير كود من vb.net ال سي شارب - بواسطة amonem - 07-07-19, 02:18 PM
RE: تغير كود من vb.net ال سي شارب - بواسطة asemshahen5 - 10-07-19, 03:27 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] خطا في تغير شاشه البدايه Ahmed Rady 0 248 17-03-25, 05:47 AM
آخر رد: Ahmed Rady
  [سؤال] مساعدة في سي شارب سيد أحمد 11 1,008 06-07-24, 01:50 PM
آخر رد: سيد أحمد
  مساعدة فى سى شارب ضرورى جدا said-12 2 801 09-06-24, 09:06 PM
آخر رد: Kamil
  مساعدة فى سى شارب said-12 3 751 14-02-24, 12:17 AM
آخر رد: Taha Okla
Star [VB.NET] السلام عليكم.. ممكن مساعدتي في تغير كود منWebBrowser الى webView2 Coder_iraqii 3 870 16-12-23, 03:48 PM
آخر رد: Kamil
  [سؤال] السلام عليكم بدون زحمة عندي نظام ارشفة مشتغلة بلغة سي شارب وقاعدة بيانات سكوال سيرفر مرتضى 1 1,150 13-05-23, 10:36 PM
آخر رد: عبدالله الدوسري
  كيفية ضبط مقاس دقة الشاشة للمشروع بلغة السي شارب صبري بامرحول 1 1,676 01-05-22, 03:09 AM
آخر رد: سعود
  تحويل كود سي شارب الي فاكشن داخل سيكول سيرفر amonem 0 1,245 10-03-22, 11:32 AM
آخر رد: amonem
  [سؤال] هل هناك شخص متمكن من السي شارب والmysql ؟ Saso 1 1,631 03-07-21, 02:32 PM
آخر رد: asemshahen5
  [C#.NET] ربط قاعدة بيانات الأكسس بسى شارب محمود احمد سعد 12 4,329 17-04-21, 06:49 AM
آخر رد: amiria

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


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