• 0

سؤال

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

 

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

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

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

SELECT SCOPE_IDENTITY();"

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

5 إجابة على هذا السؤال .

  • 0

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

  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  (مثلا) لهذا السجل  . كي يتم عرضها على الفورم .
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

 

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

  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  (مثلا) لهذا السجل  . كي يتم عرضها على الفورم .

 

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

@@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()
تم تعديل بواسطه حسام الشامي
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .