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

الرجاء المساعدة في

مغلق
بدأه ابو زياد2003 في 14 ديسمبر 2004 · 10 رد · 692 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا اقوم بعمل مشروع ببرمجة الدلفي ولكن لدي بعض المشاكل في صياغة الكود

المشكلة الاولى هو اني اريد كود يقوم باستدعاء جدول من قاعدة بيانات الى قاعدة بيانات اخرى مرتبطة بالمشروع

اوضح اكثر

لدي مشروع مرتبط بقاعدة بيانات على المسار التالي

c:/bdann/b1.mdb

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

c:/b2.mdb

ولصقة في قاعدة البيانات السابقة

c:/bdann.b1.mdb

ولكم مني الشكر والتقدير

#2

اعتقد انه الكود هذا صحيح و لم اجربه

var MyQuery:String;
begin
	MyQuery = 'select * from TableInDb2 where 1';
	With AdoQuery1 do
  begin
 	 SQL = MyQuery;
 	 Open();
  end;
	MyQuery = 'insert into TableInDb1 values(' + QuotedStr(AdoQuery1.FieldByName('Field')) + ')';
	With AdoQuery1 do
  begin
 	 SQL = MyQuery;
 	 ExecSQL;
  end;
end;

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#3
اقتباس
اريد من الكود ان يقوم بنسخ جدول من قاعدة بيانات على المسار التالي

c:/b2.mdb

ولصقة في قاعدة البيانات السابقة

تقصد بنسخ ولصق الجدول إضافه سجلاته إلى الجدول الثاني , (أم تقصد نسخ الملف إلى المجلد الثاني ,؟ )

أظن أنك تقصد الحاله الأولى

عليك كتابه شفره برمجيه مناسبه لنسخ كل سجل من الجدول الأول وإضافته إلى الجدول الثاني , ولكن يجب أن يكون الجدولان متماثلان ليقبل أحدهما سجلات من الآخر ,. سأقدم هنا شفره بسيطه تستطيع تعديلها حسب حالتك .

Table1.DisableControls;

  Table2.First;
  while not Table2.Eof do
  begin

    Table1.Insert;

    Table1.FieldByName('Name').Value:=Table2.FieldByName('Name').Value;
   //هنا تضع كل الحقول لنسبها من الجدول الثاني


    Table1.Post;

    Table2.Next;
  end;

  Table1.EnableControls;

Table1.DisableControls;

هذه التعليمه تلغي تحديثات العناصر المرئيه مما يجعل الإجراء ينفذ بسرعه كبيرة , إستخدمها عندما تريد إنجاز مهام من هذا النوع ولا تتعلق بالمتحكمات المرئيه

Table2.First;

تهيء الجدول إلى أول سجل , للبدء بإضافه السجلات من البدايه

while not Table2.Eof do

begin

كرر التعليمات التاليه حتى ينتهي الجدول , ويتم المرور على كافه السجلات

Table1.Insert;

البدء بإدخال البيانات

Table1.FieldByName('Name').Value:=Table2.FieldByName

('Name').Value;

إدخال البيانات إلى Table1 من Table2

Table1.Post;

الإنتهاء من وضح التحرير الذي بدأناه بالتعليمه Insert

Table2.Next;

الإنتقال للسجل التالي

Table1.EnableControls;

إعادة الجدول للوضع الأصلب (تحديث عناصر التحكم المرئيه كالDBEdit و DBGried الخ ..)

أتمنى أن يفيدك هذا الكود وتحسنه حسب المطلوب .. .. كما أنصحك بالإضطلاع على تعليمات SQL لحل هذه المشكله بواسطتها لإنها ستكون أفضل بكثير خاصه عند وجود شبكه

دائما شبكه <=> نستخدم SQL

تم تعديل هذه المشاركة بواسطة ORWA في 14 ديسمبر 2004 في 21:49

#4

اشكرك كل الشكر والتقدير

حبيبي المطلوب مثل الذي يحصل في قواعد البيانات من استيراد للجداول من قاعدة الى اخرى

سوف احاول في الكود وارد لك

#5

آآآة عذرا لم أكن منتبها لمشاركه الأخ راكان الحنيطي . شكرا جزيلا لك اخي راكان

#6

001 001 ياخوان المشاركة لها اكثر من ابوعين ولم احد يستطيع الرد

#7

أنت لم ترد أيضا ؟؟ ...

لماذا لم تنجح الأكواد معك

#8

الموضوع المطلوب هو استيراد جداول من قاعدة بيانات الى قاعدة بيانات اخرى وشكرا

#9

نعم وهذا ماتكلمنا عنه ..

على كل حال , الرجاء الإنتظار يوم او يومين حتى أستطيع الرد

وأن شاء الله تجد الجواب الشافي , لكنني مضغوط قليلا بالوقت الآن

#10

الاخ ابو زياد هنا العملية تكون مختلفة من قاعدة بيانات الى اخرى وانا ارى من خلال الكود انك تستخدم قاعدة بيانات اكسس وهذا في الاكسس مزعج وصعب جدا احسن طريقة هي التي اعطاك اياها الاخ orwa ام اذا كنت في SQL فهذا سهل جدا

#11

لقد نجح معي الكود ولكن مارئيك لو نظيف خاصية ProgressBar1 الى الكود كيف سيكون بعد الاضافة

اشكر لكم تعاونكم

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

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