إقتباس :بس مش عارف طريقة احضار اكبر قيمة في الحقل بالكود كيف ؟هل هذه فقط هي النقطة التي لم تعمل؟
استبدل Last بـ Max بالاستعلام ويمشي ان شالله
كود :
Private Function gid() As Integer
' Try
Dim cm As New SqlClient.SqlCommand("select Max(tid) from tb", con)
If con.State = ConnectionState.Closed Then con.Open()
Return cm.ExecuteScalar
' Catch ex As Exception
'Return Nothing
' End Try
End Functionبالنسبة للدالة الحصول على اعلى رقم اذا كان فارغ يظهر خطا لكن لو نجعل الدالة فيها Try وعند الكاتش نعيد Nothng فان الرقم المعاد يكون 0 وهنا اختصار عن كتابة كود كشف عدد السجلات.
الكلاس بعد التعديل
كود :
Public Class Form1
Dim str As String = "server=(Local)\sqlexpress;Initial Catalog=ForTesting;Integrated Security=True"
Dim con As New SqlClient.SqlConnection(str)
Dim dt As DataTable
Dim da As SqlClient.SqlDataAdapter
Dim cmd As SqlClient.SqlCommandBuilder
Private Function gid() As Integer
Try
Dim cm As New SqlClient.SqlCommand("select Max(tid) from tb", con)
If con.State = ConnectionState.Closed Then con.Open()
Return cm.ExecuteScalar
Catch ex As Exception
Return Nothing
End Try
End Function
Private Sub gd()
ListBox1.DataSource = Nothing
dt = New DataTable
da = New SqlClient.SqlDataAdapter("select * from tb", con)
cmd = New SqlClient.SqlCommandBuilder(da)
da.Fill(dt)
ListBox1.DataSource = dt
ListBox1.DisplayMember = "tid"
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
gd()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim row As DataRow = dt.NewRow
row(0) = gid() + 1
dt.Rows.Add(row)
da.Update(dt)
gd()
ListBox1.SelectedIndex = ListBox1.Items.Count - 1
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
If ListBox1.SelectedIndex < 0 Then MsgBox("اختر الرقم المراد حذفه من القائمة", MsgBoxStyle.Critical, "") : Return
dt.Rows(ListBox1.SelectedIndex).Delete()
da.Update(dt)
gd()
End Sub
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
ListBox1.DataSource = Nothing
For r As Integer = 0 To dt.Rows.Count - 1
Dim row As DataRow = dt.Rows(r)
row.BeginEdit()
row(0) = r
row.EndEdit()
da.Update(dt)
Next
gd()
End Sub
End Classاللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير

