delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف يمكن نقل سجيلات من جدول الى اخر باستعمال الفلترة مع العلم ان DatabaseName مختلفة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
السلام عليكم و رحمة الله و بركاته

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

فاستعمال نفس DatabaseName الكود يعمل جيدا و لكن انا اريد جلب معطيات محدودة من الجدول source و ليس كلها  من DatabaseName مختلفة 
و دالك بفلترة الحقل code باستعمال like مع العلم ان الحقل يحتوي على 15 رقم من نوع String . 
وهدا هو الكود الدي استعمله اثمنى ان تساعدوني في حل هده المعضلة التي اتعبثني كثيرا و الشكر موصول للجميع و جزاكم الله الف خير


PHP كود :
begin
  DM1
.TSrc1.Active := True;
 
 DM1.TSrc1.First;

 
   DM1.TSrc1.Filtered := False;
 
   DM1.TSrc1.Filter :='code like (''3118*'')';
 
   DM1.TSrc1.Filtered := True;

 while 
NOT DM1.TSrc1.Eof do

 
      begin
       DM1
.ffTDes1.Open;
 
      DM1.ffTDes1.Append;

 
    for i:=0 to DM1.TSrc1.FieldCount-1 do
 
       begin
        sFieldName 
:= DM1.TSrc1.Fields[i].FieldName;
 
       DM1.ffTDes1[sFieldName] := DM1.TSrc1[sFieldName];
 
       end;

 
       DM1.ffTDes1.Post;
 
       DM1.TSrc1.Next;
 
       end;  //fin de While
 
end; 
[quote pid='44861' dateline='1522715207']
السلام عليكم و رحمة الله و بركاته

بالاضافة الى ما ثم طرحه في السؤال 
فانه عند حدف الكود الخاص بالفلترة اي
 
PHP كود :
DM1.TSrc1.Filtered := False;
DM1.TSrc1.Filter :='code like (''3118*'')';
DM1.TSrc1.Filtered := True; 

 
يعمل و لكن يثم نقل كل السجيلات الموجودة في table source

ولكن كل ما اريده هو نقل جزء من السيجلات و المتوافقة مع الشرط الدي اشرت اليه.

اما باستعمال شرط الفلترة اعلاه فالخطا هو : Fonctionnalité non supportée

وبارك الله فيكم
[/quote]
وعليكم السلام ورحمة الله وبركاته.
لماذا لا تستعلم ال sql عوضا عن الفلترة ؟
(03-04-2018, 08:15 PM)أبو معاذ كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته.
لماذا لا تستعلم ال sql عوضا عن الفلترة ؟

السلام عليكم 

استعملت sql ولكن لم تمشي معي لان ربط query ب MasterFields يتطلب وقت كبير جدا نظرا لبعد السيرفر

بارك الله فيك اخي على الاهتمام و جزاك الله ألف خير 
و ادا كانت هناك طريقة اخرى ب sql فيدنا و شكرا
بل بالكعس ، ما دمت تستعمل تقنية العامل و الخادم  client /server 
الأفضل ان تستعمل ال sql.
اي نوع من قواعد البيانات تستعمل؟
وما هي مكونات الاتصال التي تستعملها؟
بالتوفيق.
(03-04-2018, 09:15 PM)أبو معاذ كتب : [ -> ]بل بالكعس ، ما دمت تستعمل تقنية العامل و الخادم  client /server 
الأفضل ان تستعمل ال sql.
اي نوع من قواعد البيانات تستعمل؟
وما هي مكونات الاتصال التي تستعملها؟
بالتوفيق.


على مستوى شبكة محلية (Server/client) و استعمل قاعدة بيانات flashfiler وسبق وان رفعت المكونات لم يهمه الامر في الرابط 

flashfiler

ولكن اريد نقل بعض التسجيلات من قاعدة بيانات اخرى ومن نوع INGRES والسيرفر مختلف عن السيرفر الخاص بشبكتي و شكرا
السلام عليكم ورحمة الله وبركاته
عندي مشروع به جدول للموظفين الحاليين وعندما يصل الموظف لسن التقاعد
أقوم بحذفه من جدول الموظفين الحاليين ونقله لجدول الموظفين المنتهية خدمتهم
باستخدم تعليمة sql

INSERT INTO Table1 (field1 ,field2 ....) select field1,field2 ... from Table2
where .....
ربما يكون ذلك مفيد لك
وشكرا
السلام عليكم بارك الله فيك على الاهتمام و لكن ياخي قمت  بتجريب هدا و لم تسر الامور معي كون ان databasename مختلفة
فعلا لو كنت اعمل في نفس databasename فالامر سهل جدا و يمكن استعمال SQL insert into sélect بكل سهولة المهم بارك الله فيك على انشغالك بمشكلتي و جزاك الله الف خير اخي mohamed
السلام عليكم ،
طيب لماذا لا تقوم بذلك برمجيا ؟
بمعنا داخل حلقة While .
إذا فرضنا أن Query1  تجلب لك المعطيات التي تريد نقلها.
و Query2 فيها تعليمات الإضافة غلى قاعدة البيانات الثانية (طبعا مع الباراميترات).
كود :
While not Query1.EOF do Begin إجراء نقل المعطيات إلى Query2 تطبيق Query2 Query1.next End;
السلام عليكم 
شكرا هل يمكن توضيح هدا اكثر 
وبارك الله فيك و شكرا
الصفحات : 1 2 3