السلام عليكم ورحمة الله وبركاته
أتمنى ان تكونوا جميعا بصحة وعافية
لدي قائمة ListBox وأريد أن أختار قيمه منها يتم عرضها في TextBox وتعديل القيمه وإعادة تحديثها في ListBox.
أرجوا المساعدة
السلام عليكم ورحمة الله وبركاته
تفضل الكود مشروح
كود :
Dim kk As Integer = 0 ' تعريف متغير رقمي ليحمل رقم الاندكس للعنصر
Private Sub ListBox1_Click(sender As Object, e As EventArgs) Handles ListBox1.Click
kk = ListBox1.SelectedIndex ' اسناد الاندكس الخاص بالعنصر المختار الى المتغير الرقمي
TextBox1.Text = ListBox1.SelectedItem ' عرض العنصر في مربع النص
End Sub
' في زر بوتون يضاف بعد التعديل
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ListBox1.Items.RemoveAt(kk) ' حذف العنصر القديم
ListBox1.Items.Insert(kk, TextBox1.Text) ' اضافة العنصر بعد التعديل بدلالة رقم الاندكس
End Sub
هذا كود التعديل كيف أطبق عليه
كود :
If MsgBox("هل تريد تعديل البيانات للموظف: " & EemployeName & EemployeID, MsgBoxStyle.Question + vbYesNo, Title:="Warning") = vbYes Then
Dim cmd As New SqlCommand
With cmd
.Connection = con
.CommandType = CommandType.Text
.CommandText = "Update TB_Status Set EemployStatus=@EemployStatus, where EemployStatus=@EemployStatus"
.Parameters.Clear()
.Parameters.AddWithValue("@EemployeStatus", SqlDbType.NVarChar).Value = TextBox1.Text
End With
If con.State = 1 Then con.Close()
con.Open()
cmd.ExecuteNonQuery()
con.Close()
MsgBox("تم إعتماد تعديل البيانات للموظف: ", MsgBoxStyle.Information)
Else
Return
End If
السلام عليكم اخي الكريم
هذا الكود ليس له علاقة بما سألته اولا هذا كود تعديل بيانات في قاعدة البيانات
صحيح أخي إبراهيم
احتاج بعد أن يتم إختيار القيمة من listbox وعرضها في textbox يتم تعديلها في قاعدة البيانات
السلام عليكم ورحمة الله وبركاته
لوانك تستطيع وصف مشكلتك بدقة سيكون بامكانك حلها بنفسك
الان لدينا ليست بوكس قمنا بتعديل اسم ما ولكن مازال هناك شيء ناقص بالمعلومات
هل الاندكس الخاص بالعنصر المعدل هو نفسه الاي دي للسجل في قاعدة البيانات ؟
اذا كان ذلك صحيح فكان يجب ان نستخدم مربع نص أخر باسم Txt_EemployeID سيكون هو الاي دي وسيكون شرط التعديل في قاعدة البيانات بناء على قيمته يعني الـ ID
انا سأضع لك كود تعديل العنصر الذي مازال موجودا في مربع النص textbox1 وسيكون الاي دي من مربع الاي دي
ارجو ان تكون قد استوعبت الموضوع
هذه احدى المشاكل التي نعاننيها يكون السؤال من الاخ السائل في البدء شيء ثم يبدأ سؤال اخر يكون متعلق به وتحتلف الاجابة لانه تم الفصل منذ البدء بين السؤالين يعني بالاول ليست بوكس مجردة والان كل شيء متعلق بقاعدة البيانات!!!!!!!!!!!!!
كود :
Dim Cmd As New SqlCommand("Update TB_Status Set EemployStatus=@EemployStatus, where EemployeID=@EemployeID", con)
Cmd.Parameters.Add(New SqlParameter("@EemployStatus", SqlDbType.NVarChar)).Value = TextBox1.text
Cmd.Parameters.Add(New SqlParameter("@EemployeID", SqlDbType.Int)).Value = Txt_EemployeID.text
If Con.State = ConnectionState.Open Then Con.Close()
Con.Open()
Cmd.ExecuteNonQuery()
Con.close()
MessageBox.Show("Update SuccessFully", "Update", MessageBoxButtons.ok, MessageBoxIcon.Information)
أخي إبراهيم
جزاك الله خير قد أكون مخطئ في توضيح مطلبي أتمنى قبول العذر
مرفق لكم مثال للمطلوب حيث يكون التعديل في قاعدة البيانات بناء على ما يتم إختيارة من ListBox وكتابته في TextBox.
السلام عليكم ورحمة الله وبركاته
اخي عامر عدلت لك المثال ووضعت فيها داتا غرايد
وانشأت قاعدة بيانات من نوع ِاكسس يمكنك تغييرها الى SQLserver وذلك باستبدل كل كلمة oledb الى Sql في الكود
يمكنك الاضافة ايضا طبعا حقل الاي دي ترقيم تلقائي
وللتعديل اضغط على العنصر في الليست بوكس وعدله في مربع النص واضغط edit
اخي المثال الذي اورته لك هل فيه مشكلة؟
ام ان هذه مشكلة اخرى من مشروعك
بصراحة تسألون عن شيء ننفذه لكم حسب ماتطلبون ثم تقومون بوضع الكود وتوظيفه في المكان الخطأ
وتبدأ المشاكل بالظهور تباعا ثم تتوالى الاسئلة وتقولون شكرا ياغالي جزاك الله كل خير ظهر لي هذا الخطأ
بالنتيجة سأقول لك ولغيرك حتى تتم الاستفادة مستقبلا في طريقة طرح الاسئلة
قم بتوصيف المشكلة بناء على الفكرة التي تبرمجها والادوات المرتبظة بها من قاعدة بيانات ودوال وادوات
لان الاجابة الصحيحة تكمن في كيفية عمل الكود مع كل ماهو مرتبط به
لماذا لاتضعون المشروع بشكل مصغر حتى يتم فهم الفكرة وقد نجد لكم طريقة افضل
فمثلا في مشروعك انت لست بحاجة الى ليست بوكس داتا غرايد تفيدك اكثر
ارجو ان اكون قد اوضحت لك الفكرة