السلام عليكم ... يعطكيم العافيه
احتاج كود ايجاد اكبر قيمة في العمود id مع اضافة +1
عندي كود لكن لا يفي بالغرض واحتاج تعديله لتشغيله على مشروع asp
كود :
File_ID_PKTextBox.Text = (ModDataSet.Tables("tblFiles").Compute("Max(File_id_Pk)", "File_id_Pk >= 0") + "1")
شكرا لكم
القاعدة اكسس او اسكيوال سيرفر ؟
ضع اسم الجدول واسم الحقل المراد جلب آخر Id له .
وعليكم السلام ورحمة الله وبركاتة
لجلب أكبر رقم في الجدول الموجود لديك في الذاكرة : ( من الجدول الموجود في الـ DataSet )
كود :
Dim MaxID As Integer = ModDataSet.Tables("tblFiles").AsEnumerable().Max(Function(Row) Convert.ToInt32(Row("File_id_Pk")))
Dim NewID As Integer = MaxID + 1
MsgBox(NewID)
لجب أكبر رقم في الجدول الموجود في قاعدة البيانات مباشرتاً :
إستخدم جملة الإستعلام هذة :
كود :
SELECT MAX(File_id_Pk) FROM tblFiles
الناتج أضف له 1
بالتوفيق ...
وبعد عملية الحفظ مباشرة يجلب لك ID السجل الأخير الذي تم حفظه للإستفادة منه في عملية أخرى :
أكسس :
كود :
Dim ID As Integer
Using conn As New OleDbConnection(connect)
Using cmd As New SqlCommand("insert Into Categories (CategoryName) Values (@CategoryName)", conn)
cmd.Parameters.AddWithValue("@CategoryName", Category.Text)
conn.Open()
cmd.ExecuteNonquery()
cmd.Commandtext="select @@Identity"
ID = cmd.ExecuteScalar()
conn.close()
End Using
End Using
اسكيوال سيرفر :
كود :
Dim query As String = "insert Into Categories (CategoryName) Values (@CategoryName);" & _
"select Scope_Identity()"
Dim ID As Integer
Using conn As New SqlConnection(connect)
Using cmd As New SqlCommand(query, conn)
cmd.Parameters.AddWithValue("@CategoryName", Category.Text)
conn.Open()
ID = cmd.ExecuteScalar()
End Using
End Using