الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

شرح كود SELECT SCOPE

بدأه عبداللةقساس في 17 ديسمبر 2013 · 5 رد · 1,368 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ايها الاخوة الكرام 

 

عندي كود حفظ اريد من الاخوة القادرين شرح جز منة

والكود هوا  Dim strSQL As String = "INSERT INTO Invoice (InvoiceNo, Date) VALUES('" & Me.txtInvoiceNo.Text & "','" & Me.dtpDate.Value & "') SELECT SCOPE_IDENTITY();"

هل يمكن اي حد يوضح لي الجزا الاخير من الكود ما معناة وكبف يعمل

SELECT SCOPE_IDENTITY();"

#2

السلام عليكم ..

  1. في سيكوال سيرفر , يمكن تحديد أحد الحقول بان يكون Identity  .. يعني يتزايد أو يتناقص  بمقدار معين بشكل تلقائي عند إدراج سجلات جديدة ..
  2. الدالة (SCOPE_IDENTITY) تعيد لك القيمة الجديدة للحقل الذي هو من نوع Identity  التي تم توليدها في نفس المجال (scope)  الناتجة عن آخر عملية Insert  و المجال (scope) هو بالتعريف
    : (A scope is a module: a stored procedure, trigger, function, or batch.) (واضح !!!)
  3. يعني , لو هناك عملية Insert  أخرى , تجري بالتزامن مع عملية الــ Insert  الخاصة بنا (على جدول آخر مثلا) (سيكوال سيرفر يدعم تعدد عمليات القراءة و الكتابة طالما لا يوجد تضارب)  فإن القيمة الناتجة عن العملية الأخرى هي خارج السكوب الخاص بنا , لذلك لن تاتي قيمتها الينا و بالتالي لن تحصل مشاكل ..
  4. (@@IDENTITY) يعيد ايضا آخر قيمة ناتجة عن Insert  و لكنها غير متعلقة في أي سكوب .
  5. الكود في مشاركتك يقوم بادراج سجل جديد و يعيد القيمة الجديدة للــ ID  (مثلا) لهذا السجل  . كي يتم عرضها على الفورم .

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3
حسام الشامي كتب:

 

السلام عليكم ..

  1. في سيكوال سيرفر , يمكن تحديد أحد الحقول بان يكون Identity  .. يعني يتزايد أو يتناقص  بمقدار معين بشكل تلقائي عند إدراج سجلات جديدة ..
  2. الدالة (SCOPE_IDENTITY) تعيد لك القيمة الجديدة للحقل الذي هو من نوع Identity  التي تم توليدها في نفس المجال (scope)  الناتجة عن آخر عملية Insert  و المجال (scope) هو بالتعريف

    : (A scope is a module: a stored procedure, trigger, function, or batch.) (واضح !!!)

  3. يعني , لو هناك عملية Insert  أخرى , تجري بالتزامن مع عملية الــ Insert  الخاصة بنا (على جدول آخر مثلا) (سيكوال سيرفر يدعم تعدد عمليات القراءة و الكتابة طالما لا يوجد تضارب)  فإن القيمة الناتجة عن العملية الأخرى هي خارج السكوب الخاص بنا , لذلك لن تاتي قيمتها الينا و بالتالي لن تحصل مشاكل ..
  4. (@@IDENTITY) يعيد ايضا آخر قيمة ناتجة عن Insert  و لكنها غير متعلقة في أي سكوب .
  5. الكود في مشاركتك يقوم بادراج سجل جديد و يعيد القيمة الجديدة للــ ID  (مثلا) لهذا السجل  . كي يتم عرضها على الفورم .

 

جزاك الله خيرا ومشكور استاذ حسام بس هل يوجد لة مثيل في  الاكسس واذا نعم ماهوا وكيف يعمل

#4

جزاك الله خير الجزاء استاذي العزيز بس هل يوجد لة مثيل في التعامل معى قاعدة بيانات اكسس واذا وجد ماهوا وكيف يعمل

#5

السلام عليكم ..

بارك الله بك أخي ..

@@identity موجوة في أكسس (المحرك Jet و ACE ) و لكن الأكسس لا يدعم وضع عبارتنين في نفس الكوماند معا , بل ننفذهما واحدة تلو الأخرى ..

Dim ConnSTR As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\db.mdb;Persist Security Info=False;"
		Dim connection As New OleDbConnection(ConnSTR)
		connection.Open
		Dim command As New OleDbCommand
		command.Connection = connection
		command.CommandText = "INSERT INTO [Employee](EmpName , IsMarried) VALUES(@EmpName, @IsMarried)"
		command.Parameters.AddWithValue("@EmpName" , "Name1")
		command.Parameters.AddWithValue("@IsMarried" , 1)
		command.ExecuteNonQuery()
		command.CommandText = "SELECT @@identity"
		Dim newID = command.ExecuteScalar()
		msgbox (newid)
		connection.Close()

تم تعديل هذه المشاركة بواسطة حسام الشامي في 17 ديسمبر 2013 في 20:25

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#6

جزاك الله الف خير استاذي العزيز حسام الشامي سوف اجرب واذا وجهت مشاكل ساعود اليك وسامحنا اذا ثقلنا عيلك

مواضيع مشابهة