27-10-21, 08:03 PM
(27-10-21, 06:48 PM)malik98 كتب :(27-10-21, 01:11 PM)عبد العزيز البسكري كتب :اشكرك اخي عبدالعزيز على النصيحة الهامةخذها مني كنصيحةأشتغل بالتعليم منذ أكثر من 25 سنةعمرك و لا تعمل أرقام الجلوس تلقائيا بالكود يجب كتابتها يدوياهذا رقم جلوس يعني رقم تسجيل .. و أثناء التصحيح أو بما يسمى عملية الإغفال يتم حذف كل البيانات الخاصة بالمترشح و يحتفظون فقط برقم الجلوس و على أساسه يتم القبول أو الرسوبالمركز الواحد صحيح يبدأ برقم معين و يتم تسلسل باقي المترشحين على أساس الرقم الأولانيلكن ببعض الأحيان و ببعض الحالات كانسحاب مترشح أو حتى وفاته يتم تخطي الترقيم التسلسلي لهذا المترشحإذن طريقة كيف ستكون ؟الكود سيكون كالتالي :إذا كان جدول المترشحين فارغا من البيانات .. أكتب رقم التسجيل الأول المسجل لديك و الباقي مثلما ذكرت لك يدويا أو بإضافة + 1 لرقم التسجيل الأول مع التفكير بما ذكرته لك من مخاطرة بمستقبل الكثيرينتحياتي
هذا الكود احتاجة بصورة او باخرى لادراج ارقام الجلوس اليا وليس يدويا
انا سويت دالة وتنفيذ للدالة لكن المشكلة ان التنفيذ ياخذ وقت اطول من اللازم اذا كان عدد الطلاب اكثر من مائة طالب وكلما زاد اعداد الطلاب كلما تاخر اكثر
وهذ Function
و
إقتباس :وهذ كود التنفيذPHP كود :
Function get_record(TableName, orderbyfield) As Integer
get_record = 0
Dim STR = "select * from " & TableName & " order by " & orderbyfield
Dim ADP = New SqlClient.SqlDataAdapter(STR, sqlconn)
Dim DS = New DataSet
ADP.Fill(DS)
Dim DT As DataTable
DT = DS.Tables(0)
If DT.Rows.Count <> 0 Then
Dim i = DT.Rows.Count - 1
get_record = Val(DT.Rows(i).Item(orderbyfield))
End If
End Function
PHP كود :
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim adp As New SqlClient.SqlDataAdapter("Select * from student", sqlconn)
Dim cmds As New SqlClient.SqlCommand("", sqlconn)
Dim dt As New DataTable
adp.Fill(dt)
For i = 0 To dt.Rows.Count - 1
cmds.CommandText = "UPDATE student set glose=" & get_record("student", "glose") + 1 & " where stu_id =" & i & " "
If sqlconn.State = 1 Then sqlconn.Close()
sqlconn.Open()
cmds.ExecuteNonQuery()
sqlconn.Close()
Next
MsgBox("تمت العملية")
End Sub
ممكن تكتفي بالكود ده
كود :
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim adp As New SqlClient.SqlDataAdapter("Select * from student", sqlconn)
Dim dt As New DataTable
adp.Fill(dt)
Dim j As Integer = 10
For i = 0 To dt.Rows.Count - 1
dt.Rows(i)("glose") = (j + i)
Next
Dim cmd As New SqlClient.SqlCommandBuilder(adp)
adp.Update(dt)
MsgBox("تمت العملية")
End Subلكن راجع كلام اخي عبد العزيز
