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

بخصوص Sql Server2000

بدأه delphi_ly في 30 يونيو 2009 · 6 رد · 1,411 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني أعضاء المنتدى

واجهتني مشكلة أثناء ربط الدلفي مع Sql Server 2000 عند استخدام الشبكة

استخدم ملف Udl للربط مع قاعدة البيانات سواء في client أو Server واستخدم AdoTable للربط مع قاعدة البيانات أنهيت برنامجي ويشتغل على جهاز واحد 100% أما عند محاولة الربط مع جهاز آخر يظهر خطأ عند محاولة الإضافة في نفس الوقت أو تعديل سجل تم إضافته مع العلم أن البرنامج يشتغل عند إغلاقه وفتحه وتظهر البيانات في كلا الجهازين .حاولت استخدم خصائص AdoTable و Ado connection ولكن دون فائدة .

الخطأ هو : Row cannot be located for updating. Some values may have been changed since it was last read

بحث في الانترنت ودون فائدة أيضا

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

والله لا يضيع أجر من أحسن عملا

#2

1-انصحك باستعمال الاجراءات المخزنة TADOSTORDPROC

2-متابعت دروس الاخ طلال و النقاش الجاد .

3-ارجوا ان تفيدك هذه الرابطة

http://coding.derkeiler.com/Archive/Delphi...04-02/0481.html

#3

لا اظن ان في العمل على الشبكة مشكلة, هل من الممكن ان تضع لنا تصميم قاعدة البيانات, هل نسيت وضع Primary Keys للجداول؟

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#4

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

أعتقد أن البرنامج يحتاج إلى Refresh للبيانات لأنه لا يتمكن من الوصول إلى السجلات التي تمت إضافتها أو تعديلها.

إذا كانت Requery تحل المشكلة (أي تمنع ظهور الرسالة المذكورة) لكنها تتسبب في إغلاق و إعادة فتح الجدول (ما يتسبب عنه فقدان الموقع الحالي لمؤشر السجلات و العودة إلى أول سجل) فإنه يمكنك استعمال إجراء خاص بك يقوم بغلق و إعادة فتح الجدول ثم العودة إلى السجل الذي كان عنده:

  1.  
  2. procedure TForm1.RefreshDisplay;
  3. var
  4. ID: Integer;
  5. begin
  6. if ADOTable1.IsEmpty then
  7. ID := 0
  8. else
  9. ID := ADOTable1.FieldByName('اسم حقل المفتاح الأساسي').AsInteger;
  10.  
  11. ADOTable1.Close;
  12. ADOTable1.Open;
  13.  
  14. if not ADOTable1.IsEmpty then
  15. ADOTable1.Locate('اسم حقل المفتاح الأساسي', ID, []);
  16. end;
  17.  

إذا كان عدد السجلات كبيراً جداً فربما هذا يسبب بعض البطء.

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#5

السلام عليكم

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

خيركم من تعلم القرآن وعلمه

#6

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

لا اله الا انت سبحانك اني كنت من الظالمين

#7

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

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

شكراً لكم اخواني على الرد لم أتوصل إلى حل حتى الآن أرجو الإفادة علما بأني استخدم adoTable و Dbedit لعرض البيانات

ولكم جزيل الشكر

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