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

جملة الاتصال

مغلق
بدأه egyman في 5 مارس 2005 · 2 رد · 966 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

أنا مبتدأ فى برنامج Microsoft SQL Server و أيضاً فى Visual Basic

و لكني تعلمت فى هذا المنتدي بعض الأشياء المهمة , وبلفعل قمت بإنشاء الجداول و قمت بالإتصال بها داخل الفيجوال بيسك ...

و لكن لي سؤلين :-

1 - عند التعامل مع الجداول كنت فى الأكسيس أختار نوع الحقل نص Char و لكن فى sql وجدت نوعين

Char , varchar

و قرأت عن الفرق بينهما

و لكنت أريد أن أعرف الفرق من وجهت نظر جبرتكم أيهما أختار؟؟؟؟؟ :o

2 - فى جملة الربط مع فيجوال بيسك استخدمت السطر التالي :

rs.open "select * from emp" cn, adopenkeyset, adlockpessimistic

سؤال هو

ما معنى adopenkeyset و ما هى بدائلها و كذلك الحال بالنسبة لـpessimistic

و شكراً لكم :D

سبحان الله و بحمده سبحان الله العظيم

أبو كريم و مازن و نور

vb.net - c# - asp.net - oracle - sql server

manager@tm-center.com

00966508268649

#2
اقتباس
عند التعامل مع الجداول كنت فى الأكسيس أختار نوع الحقل نص Char و لكن فى sql وجدت نوعين

Char , varchar

و قرأت عن الفرق بينهما

و لكنت أريد أن أعرف الفرق من وجهة نظركم أيهما أختار؟؟؟؟؟

انظر

سوال فى انواع البيانات؟

adlockpessimistic هو أحد أنواع إقفال السجلات records locking التي توفرها مكتبة ADO لضمان نجاح تحرير سجل في حال فتحه بواسطة أكثر من مستخدم لقاعدة البيانات في آن واحد.

1- adlockpessimistic أو الإقفال المتشائم يقفل السجلات المراد تحريرها في قاعدة البيانات قبل التحرير بحيث لا يمكن لمستخدم آخر أن يصل إليها حتى يفك إقفالها

بمعنى آخر عندما يبدأ مستخدم في تحرير سجل، لن يستطيع بقية المستخدمين قراءته.

هذا النوع لايصلح للتطبيقات المتزامنة Concurrent applications مثل أنظمة الحجوزات reservations systems

2- adLockOptimistic أو الإقفال المتفائل يقفل السجلات المراد تحريرها في قاعدة البيانات قفط عند إجراء عملية التحرير، وليس قبلها بفترة ، بمعنى أن البيانات المراد تحريرها قد يستطيع مستخدم آخر تحريرها قبلك بطريقة قد تسبب تناقضا مع تحريرك.

يستعمل هذا النوع في التطبيقات التي يمكن معالجة مثل هذه التناقضات بسهولة أو لاتوجد خطورة بالغة مثل هذه التناقضات.

3- adLockBatchOptimistic مثل adLockOptimistic ولكنه يتعامل مع أكثر من سجل.

4- adLockReadOnly كما هو ظاهر من اسمه: يقفل البيانات بحيث تكون readonly ولا يسمح بأي تعديل فيها، وهوأسرع أنواع الإقفال لأنه لايراعي أي جانب للتزامنية concurrency .

5- adLockUnspecified لايطبق أي نوع إقفال على السجلات.

أما adopenkeyset فهو نوع مؤشر قراءة السجلات cursor الذي سيستعمله لاستجلابها، والأنواع هي:

1- Static cursors أو adOpenStatic : لاتستطيع معرفة التغيرات التي طرأت على البيانات، وتخزن جميع البيانات في قاعدة البيانات tempdb، لذا هذا النوع يستهلك موارد كثيرة خلال تصفح البيانات المستجلبة من قاعدة البيانات.

2- Dynamic cursors أو adOpenDynamic : يستطيع معرفة التغيرات التي طرات على البيانات، ولكنه يستهلك أثناء تصفح البيانات موارد أكثر من Static cursors بالرغم من قلة الاعتماد على قاعدة البيانات tempdb.

3- Forward-only cursors أو adOpenForwardOnly يسمح بتصفح البيانات من أول سجل لآخر سجل فقط، ولايسمح بتصفحها بالعكس.

4- Keyset-driven cursors أو adopenkeyset يقع بين adOpenDynamic و adOpenStatic فهو يستطيع معرفة التغيرات التي طرأت على البيانات دون الاعتماد كليا على قاعدة البيانات tempdb وفي نفس الوقت أقل استهلاكا للموارد منهما.

(مترجم من MSDN و SQL Server books online)

فكر بطريقة أخرى

#3

شكراً أخي Walcom على ردك

استفدت كثيراً من إجابتك :)

سبحان الله و بحمده سبحان الله العظيم

أبو كريم و مازن و نور

vb.net - c# - asp.net - oracle - sql server

manager@tm-center.com

00966508268649

هذا الموضوع مغلق.

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