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

ما معنى الأمر Refresh

بدأه islambase@yahoo.com في 16 مارس 2008 · 9 رد · 5,109 مشاهدة · في قسم قواعد البيانات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخوانى الأعزاء

ما معنى الأمر refresh

سيقول أحدكم هذا الأمر للتنشيط

اذآ فما المقصود بالتنشيط؟

ما الفرق بين كل من

Data1.MoveFirst

Data1.Refresh

كلاهما يوجه قاعدة البيانات الى أول سجل

</SPAN></SPAN>

ولكم ألف شكر

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

السلام عليكــم ورحمـة الله وبركاتــة ،،

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

شكراً لك اخي الكريم

#2

Repaints a form or control and refreshes any values, or refreshes a project's visual display. There are two versions of the syntax.

#3
اقتباس
اخوانى الأعزاء

ما معنى الأمر refresh

سيقول أحدكم هذا الأمر للتنشيط

اذآ فما المقصود بالتنشيط؟

ما الفرق بين كل من

Data1.MoveFirst

Data1.Refresh

كلاهما يوجه قاعدة البيانات الى أول سجل

ولكم ألف شكر

الأخ الغالي ، تحية طيبة وبعد ،

هناك فرق كبير بين الأمرين MoveFirst و Refresh !!!

الأمر Refresh ليس الغرض منه الإنتقال الي السجل الأول كما تتخيل ، بل المقصود منه هو إجراء تحديث للسجلات المرفقة بكائن الـ Data1 !!!

وللتوضيح أكثر ، عملية الـ Refresh تقوم بإعادة جلب السجلات والبيانات بجدول البيانات من جديد ، حيث نفترض أن قاعدة البيانات مرتبطة بشبكة حواسب مكونة من ثلاثة أجهزة كعلي سبيل المثال ، وكل جهاز به برنامجك ، وكل مستخدم فاتح نافذة ترتبط بنفس الجدول ، هناك مستخدم يحذف سجل ، وآخر يدرج سجل ، وآخر يعدل سجل ، ولكن كل مستخدم لا يري أي تعديلات قام بها الطرف اللآخر إلا بعد إجراء تعديل Refresh علي عنصر الـ Data1 حتي تجلب آخر تعديلات تمت علي هذا الجدول سواء من طرفي أو من الطرف الآخر .

حاول تعمل أي برنامج مرتبط بقاعدة بيانات بواسطة DataControl مثلاً وأربط مع جدول محدد ثم نفذ البرنامج ... أثناء عملية التنفيذ أذهب الي قاعدة البيانات ومن ثم غير أي قيمة بالجدول المرتبط ببرنامجك مثلاً جدول ( الموظف ) من حذف سجل أو إدراج سجل أو تعديل سجل ، ومن ثم أذهب الي نافذة برنامجك وحاول تنتقل بين السجلات ستجد القيم القديمة كما هي ... ولكن إذا فعلت Refresh علي الـ Data Control سيعيد جلب السجلات من جديد والتحديثات التي تمت علي الجدول المرتبط .

لذلك دائماً من المفضل جلب سجل سجل من قاعدة البيانات وفي حالة الإنتقال الي السجل التالي يتم جلبة من جديد ( وهذا رأيي الشخصي ) .

بالتوفيق

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#4

جزاك الله خيرآ أخي العزيز

ولك ألف شكر

ولكن نفترض أن قاعدة البيانات غيرمرتبطة الا بجهاز واحد به برنامجى

وأن المستخدم ليس بامكانه أن يذهب الي قاعدة البيانات ليغير أي قيمة بالجدول من حذف أو إدراج أو

تعديل سجل(أى لا يستطيع الا أن يذهب الي برنامجى ويتنتقل بين السجلات ليغير أي قيمة بالجدول

من حذف أو إدراج أوتعديل سجل)

فهل لا يوجد استخدام لهذا الأمر؟

أتمنى منك المزيد من الأمثلة حتى أفهم جيدآ متى أستخدم هذا الأمر

ولك ألف شكر

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

السلام عليكــم ورحمـة الله وبركاتــة ،،

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

شكراً لك اخي الكريم

#5

الأخ الغالي ، طالما أنت ضامن ضمان كامل بأن قاعدة البيانات ستفتح مرة واحدة بواسطة برنامجك الشخصي ، وأن قاعدة البيانات محمية من عبث المستخدم العادي في هذه الحالة ليس أمر Refresh له فائدة ، وفائدتة الرئيسية كما ذكرتة لك وهو إجراء تحديث للبيانات والسجلات في حالة إرتباط القاعدة بالشبكة أو إستخدام أكثر من مستخدم للقاعدة ( مع العلم أن إستخدام هذه الطريقة غير جيدة خصوصاً في حالة إستخدام بيانات كبيبرة كما ذكرت لك من قبل ونصيحة أخوية أبتعد تماماً عن هذا الأسلوب ) !!!

شكراً

تم تعديل هذه المشاركة بواسطة MMA_EG_Cairo في 17 مارس 2008 في 20:15

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#6

طيب اخي انا استخدم Adodc

وعند حذف سجل لازم اضغط الزر مرتين ثم ينحذف السجل وتختفي البيانات في الحقول

وهذا هو الكود هل هو صحيح ارجو التعديل والف الف شكر لك

Adodc1.Recordset.Delete

Adodc1.Refresh

كلمات اتعبت الملائكة في كتابة الأجر فذهبوا وشكوا إلى ربهم .... ماذا يفعلون

فقال لهم سبحانه وتعالى اطووها بصحائفها وضعوها تحت عرشي فتبقى حسناتها إلى يوم القيامة الله اكبر

(( اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك))

#7
اقتباس
طيب اخي انا استخدم Adodc

وعند حذف سجل لازم اضغط الزر مرتين ثم ينحذف السجل وتختفي البيانات في الحقول

وهذا هو الكود هل هو صحيح ارجو التعديل والف الف شكر لك

Adodc1.Recordset.Delete

Adodc1.Refresh

بص يا أخي المفروض تمنح قاعدة البيانات فرصة حتي تنفذ عملية الحذف أو تحدث البيانات من جديد !!!

علي سبيل المثال تعرض رسالة للمستخدم بأن عملية الحذف إنتهت كما يلي :

Adodc1.Recordset.Delete
Adodc1.Refresh

بالإضافة الي ذلك أن أفضل شيء هو ما يلي :

Adodc1.Recordset.Delete
If(Adodc1.Recordset.RecordCount = 0)Then
	Adodc1.Refresh
Else
	Adodc1.MoveFirst
End If

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#8

الف الف شكر

كلمات اتعبت الملائكة في كتابة الأجر فذهبوا وشكوا إلى ربهم .... ماذا يفعلون

فقال لهم سبحانه وتعالى اطووها بصحائفها وضعوها تحت عرشي فتبقى حسناتها إلى يوم القيامة الله اكبر

(( اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك))

#9
اقتباس
بالإضافة الي ذلك أن أفضل شيء هو ما يلي :

كودAdodc1.Recordset.Delete

If(Adodc1.Recordset.RecordCount = 0)Then

Adodc1.Refresh

Else

Adodc1.MoveFirst

End If

لعلك تقصد يا أخى الكود التالى

NREC=Adodc1.Recordset.RecordCount 
Adodc1.Recordset.Delete
If(Adodc1.Recordset.RecordCount = NREC-1)Then 
Adodc1.Refresh
Else 
Adodc1.MoveFirst
End If

شكراً

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

السلام عليكــم ورحمـة الله وبركاتــة ،،

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

شكراً لك اخي الكريم

#10

آسف على خطأ الكتابة الذى حدث

لعلك تقصد يا أخى الكود التالى

NREC = Adodc1.Recordset.RecordCount
Adodc1.Recordset.Delete
If (Adodc1.Recordset.RecordCount = NREC - 1) Then
Adodc1.Refresh
Else
Adodc1.MoveFirst
End If

وشكرآ

آآآآآآآآآآآآآآآآآآآآآآآآآآسف

لعلك تقصد يا أخى الكود التالى

NREC = Adodc1.Recordset.RecordCount

Adodc1.Recordset.Delete

If (Adodc1.Recordset.RecordCount = NREC - 1) Then

Adodc1.Refresh

Else

Adodc1.MoveFirst

End If

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

السلام عليكــم ورحمـة الله وبركاتــة ،،

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

شكراً لك اخي الكريم

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