تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استفسار
#1
السلام عليكم لدي داتا قريد فيو لماذا عندما  اريد الضغط علي زر تعديل لايتغير اسم الوحدة
كود :
Private Sub btn_edit_Click(sender As Object, e As EventArgs) Handles btn_edit.Click
       If TXT_NAME.Text = "" Then
           MessageBox.Show("يرجي ادخال اسم الوحدة", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
           TXT_NAME.Select()
           Exit Sub
       End If
       '============كود التعديل
       Dim DT As New DataTable
       Dim DA As New SqlDataAdapter("select *from unite where unite_name='" & TXT_NAME.Text & "'", Module1.con)
       DA.Fill(DT)
       If DT.Rows.Count = 0 Then
           MessageBox.Show("اسم الوحدة غير موجود ", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)

       Else
           Dim DR = DT.Rows(0)
           DR!unite_name = TXT_NAME.Text
           Dim SAVE As New SqlCommandBuilder(DA)
           DA.Update(DT)
           MessageBox.Show("تم تعديل اسم الوحدة بنجاح", "رسالة تاكيد", MessageBoxButtons.OK, MessageBoxIcon.Information)
           btn_new_Click(sender, e)

       End If
   End Sub


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#2
عليكم السلام ورحمة الله
فى ملاحظه صغيرة على الكود: هو ان انت عايز تغير بأسم جديد وفى نفس الوقت بتستدعى البيانات بعبارة SQL بدلالة ال unit_name اللى هو اصلا جديد
الحل انك تعدل ال sql بحيث تكون بدلالة رقم الوحدة مثلا وفى الحاله دى تقدر تغير اسم الوحده

جرب الكود التالى باعتبار ان رقم الوحدة مثلا هو Unite_ID  و ان الخانه الخاصة بها txt_ID
التغيير فى العبارة دي
"select * from unite where unite_ID='" & TXT_ID.Text & "'", Module1.con

كود :
Private Sub btn_edit_Click(sender As Object, e As EventArgs) Handles btn_edit.Click
      If TXT_NAME.Text = "" Then
          MessageBox.Show("يرجي ادخال اسم الوحدة", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
          TXT_NAME.Select()
          Exit Sub
      End If
      '============كود التعديل
      Dim DT As New DataTable
      Dim DA As New SqlDataAdapter("select *from unite where unite_ID='" & TXT_ID.Text & "'", Module1.con)
      DA.Fill(DT)
      If DT.Rows.Count = 0 Then
          MessageBox.Show("اسم الوحدة غير موجود ", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)

      Else
          Dim DR = DT.Rows(0)
          DR!unite_name = TXT_NAME.Text
          Dim SAVE As New SqlCommandBuilder(DA)
          DA.Update(DT)
          MessageBox.Show("تم تعديل اسم الوحدة بنجاح", "رسالة تاكيد", MessageBoxButtons.OK, MessageBoxIcon.Information)
          btn_new_Click(sender, e)

      End If
  End Sub
الرد }}}
تم الشكر بواسطة:
#3
(08-11-22, 11:18 AM)barawy كتب : عليكم السلام ورحمة الله
فى ملاحظه صغيرة على الكود: هو ان انت عايز تغير بأسم جديد وفى نفس الوقت بتستدعى البيانات بعبارة SQL بدلالة ال unit_name اللى هو اصلا جديد
الحل انك تعدل ال sql بحيث تكون بدلالة رقم الوحدة مثلا وفى الحاله دى تقدر تغير اسم الوحده

جرب الكود التالى باعتبار ان رقم الوحدة مثلا هو Unite_ID  و ان الخانه الخاصة بها txt_ID
التغيير فى العبارة دي
"select * from unite where unite_ID='" & TXT_ID.Text & "'", Module1.con

كود :
Private Sub btn_edit_Click(sender As Object, e As EventArgs) Handles btn_edit.Click
      If TXT_NAME.Text = "" Then
          MessageBox.Show("يرجي ادخال اسم الوحدة", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
          TXT_NAME.Select()
          Exit Sub
      End If
      '============كود التعديل
      Dim DT As New DataTable
      Dim DA As New SqlDataAdapter("select *from unite where unite_ID='" & TXT_ID.Text & "'", Module1.con)
      DA.Fill(DT)
      If DT.Rows.Count = 0 Then
          MessageBox.Show("اسم الوحدة غير موجود ", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)

      Else
          Dim DR = DT.Rows(0)
          DR!unite_name = TXT_NAME.Text
          Dim SAVE As New SqlCommandBuilder(DA)
          DA.Update(DT)
          MessageBox.Show("تم تعديل اسم الوحدة بنجاح", "رسالة تاكيد", MessageBoxButtons.OK, MessageBoxIcon.Information)
          btn_new_Click(sender, e)

      End If
  End Sub
انا اقصد تعديل يعني مثلا اسم الوحده صندوق اريد تغيره بدل صندوق الي عبوه وليس إضافة وحده جديده
غيرت جملة استعلام لزالت تظهر نفس مشكله اسم الوحدة موجود مسبقا 
كود :
Private Sub btn_edit_Click(sender As Object, e As EventArgs) Handles btn_edit.Click
       If MessageBox.Show("هل ترغب في تعديل اسم الوحدة", "رسالة تنبيه", MessageBoxButtons.YesNo) = DialogResult.No Then Exit Sub

       Dim DT As New DataTable
       Dim DA As New SqlDataAdapter("select *from unite where unite_code='" & TXT_CODE.Text & "'", Module1.con)
       DA.Fill(DT)
       If DT.Rows.Count = 0 Then
           MessageBox.Show("اسم الوحدة غير موجود ", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
       Else
           Dim DR = DT.Rows(0)
           DR!unite_name = TXT_NAME.Text
           Dim SAVE As New SqlCommandBuilder(DA)
           DA.Update(DT)
           MessageBox.Show("تم تعديل اسم الوحدة بنجاح", "رسالة تاكيد", MessageBoxButtons.OK, MessageBoxIcon.Information)
           btn_new_Click(sender, e)
       End If

   End Sub
الرد }}}
تم الشكر بواسطة:
#4
ارفقت مثال صغير بالمشكلة وستجد من يساعدك بإذن الله تعالى
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة:
#5
(08-11-22, 06:09 PM)مصمم هاوي كتب : ارفقت مثال صغير بالمشكلة وستجد من يساعدك بإذن الله تعالى

مثل في صورة إضافة وحده 
عندما اختار اسم وحده وليكن صندوق اريد تغيره الي عبوه واضغط تعديل يقول لي اسم الوحده موجود مسبقا وبالنسبه للكود مرفق فوق في ردود
الرد }}}
تم الشكر بواسطة:
#6
قم بتجربة الكود كما فى مشاركتى السابقه ثم اخبرنى بالنتائج
الرد }}}
تم الشكر بواسطة:
#7
(09-11-22, 10:26 AM)barawy كتب : قم بتجربة الكود كما فى مشاركتى السابقه ثم اخبرنى بالنتائج

قمت بعمل عمود في قريد فيو اسمه btn 
وعندما اضغط علي عليه ينقل مكتوب في خانه صفر في قريد لتكست بوكس لكن يظهر خطا 
مرفق صوره خطا وكود
كود :
Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
       If e.ColumnIndex = 1 Then

           If DataGridView1.Columns(1).Name = "btn" Then
               Dim dr As DataGridViewRow = DataGridView1.SelectedRows(0)
               TXT_NAME.Text = dr.Cells(0).Value

           End If
       End If
   End Sub


الملفات المرفقة صورة/صور
       
الرد }}}
تم الشكر بواسطة:
#8
قم بتعديل السطر التالى:

كود :
Dim dr As DataGridViewRow = DataGridView1.SelectedRows(0)


الى :

كود :
Dim dr As DataGridViewRow = DataGridView1.Rows(e.RowIndex)

(09-11-22, 10:26 AM)barawy كتب : قم بتجربة الكود كما فى مشاركتى السابقه ثم اخبرنى بالنتائج

لم تبلغنا بنتائج التجربة
الرد }}}
تم الشكر بواسطة:
#9
(10-11-22, 02:03 PM)barawy كتب : قم بتعديل السطر التالى:

كود :
Dim dr As DataGridViewRow = DataGridView1.SelectedRows(0)


الى :

كود :
Dim dr As DataGridViewRow = DataGridView1.Rows(e.RowIndex)

(09-11-22, 10:26 AM)barawy كتب : قم بتجربة الكود كما فى مشاركتى السابقه ثم اخبرنى بالنتائج
يعمل الان الكود 
لكن عندما اضغط علي زر تعديل تظهر مشكله
كما في صورة

(10-11-22, 05:05 PM)ali_ahmed12 كتب :
(10-11-22, 02:03 PM)barawy كتب : قم بتعديل السطر التالى:

كود :
Dim dr As DataGridViewRow = DataGridView1.SelectedRows(0)


الى :

كود :
Dim dr As DataGridViewRow = DataGridView1.Rows(e.RowIndex)

(09-11-22, 10:26 AM)barawy كتب : قم بتجربة الكود كما فى مشاركتى السابقه ثم اخبرنى بالنتائج
يعمل الان الكود 
لكن عندما اضغط علي زر تعديل تظهر مشكله
كما في صورة

هدا كود تعديل 
كود :
Private Sub btn_edit_Click(sender As Object, e As EventArgs) Handles btn_edit.Click
       If MessageBox.Show("هل ترغب في تعديل اسم الوحدة", "رسالة تنبيه", MessageBoxButtons.YesNo) = DialogResult.No Then Exit Sub


       Dim DR = dt.Rows(0)
       DR!unite_name = TXT_NAME.Text
           Dim SAVE As New SqlCommandBuilder(DA)
           DA.Update(DT)
           MessageBox.Show("تم تعديل اسم الوحدة بنجاح", "رسالة تاكيد", MessageBoxButtons.OK, MessageBoxIcon.Information)
           btn_new_Click(sender, e)

   End Sub
عمود unit_name ثاني عمود في جدول لانه العد من صفر


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:



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


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