السلام عليكم
لدي مشكلة وهي : أولاً انني لا أقوم بجلب البيانات عند حدث التحميل load event
و لنعتبر أن هنالك عدد من الصفوف في قاعدة البيانا
الان السيناريوا هو عندما أقوم بإضافة صف جديد new row وبعد تعبئته بالبيانات
أضغط على زر التحديث فيظهر الـ ID يساوي واحد وعند الضغط على الزر next يذهب إلى الصف نفسه ولكن بالرقم الحقيقي
للــ ID من قاعدة البيانات وهنا تكمن المشكلة وإن كانت بشكل مؤقت حتى يخرج المستخدم من النموذج
والسبب أنني لا أستطيع أن أضيف شيء حتى أذهب للصف الثاني , طيب مافائدة الصف الأول الوهمي ؟؟؟
وبعد البحث عن هذه المشكلة تبين لي أنني لابد أن أسترجع أخر رقم للـ ID من قاعدة البيانات بعد عملية الـ Insert .
حاولت والنتيجة كانت لا حل حتى الآن .
الطلب: كيف أستطيع أن أحصل على أخر رقم تلقائي من قاعدة البيانات SQL DataBase
HOW TO: Retrieve the Identity Value While Inserting Records
بحث في الإنترنت كثيراً وعرفت من خلال ذلك أن الـ SQL DataAdapter يقوم بهذا بشكل تلقائي
بحيث يشترط عن طريق الـ Where بأن يكون الـ ID يساوي @@IDENTITY
لكن مع ذلك المشكلة مستمرة معي , وكذلك كتبت النصوص البرمحية التالية
Private Sub DAMain_RowUpdated(ByVal sender As Object, ByVal e As System.Data.SqlClient.SqlRowUpdatedEventArgs) Handles DAMain.RowUpdated
Try
If e.Status = UpdateStatus.Continue AndAlso e.StatementType = StatementType.Insert Then
'Get NewID
Dim cmdGetIdentity As New SqlCommand("SELECT @@IDENTITY", CnnMain)
cmdGetIdentity.CommandType = CommandType.Text
e.Row("SerialNumber") = Int32.Parse(cmdGetIdentity.ExecuteScalar().ToString())
e.Row.AcceptChanges()
MsgBox(e.Row("SerialNumber"))
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Subلكن دون جدوى والله المستعان فكيف الحل أحسن الله إليكم ؟


