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

اخواني أريد أ، أعمل تحديث لبعض البيانات حيث يوجد عندي أحد الأعمدة وبه أيام الأسبوع وعمود آخر به حالة الموظف ( حالة الموظف تعني غائب ، إجازة أسبوعية , إجازة اضطرارية )  الذي أريد أن أعمله مثلاُ يغير يوم الخميس بدل أن يكون إجازة أسبوعية يجعله لي إجازة اضطرارية ولكن لكل الموظفين
أنا عملت الكود التالي

عملت تكست بوكس textbox5   و  combobox1  بحيث أنه أختار اليوم من خلال الكوموبوبكس  وعندها يقوم بالبحث في الداتاقريد فيو وعندما يجد يوم الخميس يقوم باستبدال القيمة حسب الموجود في  textbox5       ولكن الذي يحصل أنه يعدل الصف المحدد الذي أنا واقف عليه


دمتم بود

For i As Integer = 0 To DataGridView2.Rows.Count - 1

If DataGridView2.Rows(i).Cells(3).Value = ComboBox1.Text Then

''If Form2.DataGridView2.Rows(i).Cells(4).Value = DateTimePicker1.Value Then

DataGridView2.Rows(i).Cells(1).Value = TextBox3.Text

Dim cmdupdate As SqlCommand = New SqlCommand("update Daily_Tabel set Emp_State=@Emp_State where ID = @ID", Sqlcon)

cmdupdate.Parameters.Add("@Emp_State", SqlDbType.NVarChar).Value = TextBox5.Text

cmdupdate.Parameters.Add("@ID", SqlDbType.Int).Value = TextBox1.Text

Sqlcon.Open()

If cmdupdate.ExecuteNonQuery = 1 Then

End If

Sqlcon.Close()

 

'End If

End If

Next


 

 

 

 

MsgBox("تم تعديل حالة الموظف")

آسف اخواني تكرر الموضوع ولم أنتبه
الرد
تم الشكر بواسطة:
#2
السلام عليكم اخي الكريم
واضحى مبارك

انت وضعت شرطا للتعديل وهو الاي دي اي ان التعديل سيكون لسجل واحد فقط وهو السجل الذي يحمل رقم الاي دي الذي سيأخذه من مربع النص 1 وانت تريد تعديل كل السجلات بمعنى ان الاي دي يجب ان لايكون شرطا فقط عدل الحقل الذي يحوي اجازة اسبوعية لكل السجلات وبهذا سيتم تعديل كل السجلات

للتذكير قم بعمل نسخة احتياطية لقاعدة البيانات او المشروع ككل لتتمكن من الرجوع فيما لو حدث ما لاترغب به
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
#3
أشكرك أخي إبراهيم على سرعة ردك فعلاً كلامك سليم 100/ 100 وتم التعديل في الداتا قريد فيو ليوم الخميس فقط تماماً كما أريد ولكن عند الحفظ يغير كل الأيام ( يعني في الداتاقريد فيو يعدل أيام الخميس فقط لكن بعد الحفظ تتغير كلها )
ممكن الحل اني اقوم بحفظ التغييرات من الداتاقريد فيو مباشرة دفعة واحدة لكن للأسف مش عارف الطريقة

ولك جزيل الشكر
دمتم بود
الرد
تم الشكر بواسطة: حريف برمجة
#4
السلام عليكم ورحمة الله وبركاته
احي الكريم جيولوجي
شي طبيعي انه سيقوم بالتعديل على كل السجلات لانك جلبت الكل اولا والداتا تابل تحوي كل السجلات
والحل يكون كالتالي
نقوم بجملة استعلام مع داتا تابل جديدة بحيث نضع شرط ان تكون Emp_State تساوي ماهو موجود في الكومبوبوكس
هنا ستأتي السجلات المراد تعديلها فقط والتي تساوي في الحقل المطلوب الكومبو بوكس ويتم تعديل الحقل المطلوب وفق الاي دي الموجود في الداتا تابل الجديدة
والقيمة التي سنغيرها نأخذها من مربع النص رقم 5 نعمل ذلك في جملة For
جرب الكود التالي وبإذن الله سيعمل 
كود :
' داتا تابل جديدة
       Dim dtt As New DataTable()
       ' جلب السجلات التي تطابق اليوم الموجود في الكومبوبوكس
       da = New SqlDataAdapter("select * from Daily_Tabel Where Emp_State = '" & ComboBox1.Text & "'", Sqlcon)
       da.Fill(dtt)
       ' اذا كان يوجد سجلات
       If dtt.Rows.Count > 0 Then
           For i As Integer = 0 To dtt.Rows.Count - 1
               Cmd = New SqlCommand("Update Daily_Tabel set Emp_State=@Emp_State where ID = @ID", Sqlcon)
               Cmd.Parameters.Add(New SqlParameter("@Emp_State", SqlDbType.NVarChar)).Value = TextBox5.Text ' ياحذ الفيمة من مربع النص 5
               Cmd.Parameters.Add(New SqlParameter("@Id", SqlDbType.Int)).Value = CInt(dtt.Rows(i).Item(0)) ' ياحذ الفيمة الحقل الاول للداتاتابل الجديدة  
               If Sqlcon.State = ConnectionState.Closed Then Sqlcon.Open()
               
               Cmd.ExecuteNonQuery()
               
         
 Next
Sqlcon.Close()
       End If
       MessageBox.Show("تم تعديل البيانات بنجاح", "تعديل", MessageBoxButtons.OK, MessageBoxIcon.Information)
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  التعديل على عمود في الداتاقريد فيو دفعة واحد بناء على قيمة معينة جيولوجي مبتدئ 0 29 01-08-20, 07:49 PM
آخر رد: جيولوجي مبتدئ
  حساب ناتج عمود بشرط alshandodi 5 172 24-07-20, 07:51 PM
آخر رد: asemshahen5
  [كود] اريد التعديل على الكود وهو عدم التكرار عمور2016 3 128 23-07-20, 01:03 AM
آخر رد: عبد العزيز البسكري
  [VB.NET] طريقة تثبيت البرنامج في حاسوب واحد rochdi191 9 347 16-07-20, 10:45 PM
آخر رد: rochdi191
  تحديد الحركة في عامود واحد في الداتا جريد ... Mohammed Nafa 6 204 15-07-20, 06:52 PM
آخر رد: WaeLx
  ارجو تفعيل الازرار الاضافة و التعديل والبحث والحذف عمور2016 3 361 11-07-20, 10:14 PM
آخر رد: alshandodi
  كيف يتم وضع subtotal في الداتاقريد فيو ahmedfa71 4 148 08-07-20, 04:47 PM
آخر رد: ahmedfa71
  تحديد عمود في الداتا جريد و اختباره هل هو فارغ ام لا بسام محمدغانم 1 159 05-07-20, 07:17 PM
آخر رد: WaeLx
  [VB.NET] انشاء عمود بالجدول محمد اسماعيل 4 174 05-07-20, 07:05 PM
آخر رد: محمد اسماعيل
  منع كتابة حروف معينة cordava 3 175 03-07-20, 10:26 PM
آخر رد: kiki

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


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