المشاركات : 1,252
المواضيع 170
:
: 1,500
الإنتساب : Jul 2009
انت تقوم بجلب المعلومات المراد تصدريها عن طريق dataset مثل adoquery adotable ibquery .... الخ.
هذا dataset يمكن التعامل معها سطرا سطرا بواسطة حلقة while.
هل أكمل؟
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
المشاركات : 92
المواضيع 21
:
: 0
الإنتساب : Nov 2015
(05-04-2018, 01:57 PM)أبو معاذ كتب : انت تقوم بجلب المعلومات المراد تصدريها عن طريق dataset مثل adoquery adotable ibquery .... الخ.
هذا dataset يمكن التعامل معها سطرا سطرا بواسطة حلقة while.
هل أكمل؟
يمكن ان تكمل ادا كان ممكن بتسمية source et destination و بارك الله فيك
بكاء العين يفضح وبكاء القلب يذبح والبكاء من خشيه الله يربح اللهم اجعلنا ممن يبكى من خشيتك
المشاركات : 1,252
المواضيع 170
:
: 1,500
الإنتساب : Jul 2009
طيب ،
لنفرض أن ال Source تحوي الاستعلام التالي :
Select Code1 , Code2
From Table1
Where c1= c2
ال Destination تحوي الاستعلام التالي :
Insert into Table2 (A1,A2) Values (:b1 , :b2)
لنجري الآن عملين نقل البيانات :
كود : Source.close;
Source.open;
While Not Source.eof do // eof = End Of File
Begin
destination.close;
;destination.paramettre('b1').value := source.Code1.value
;destination.paramettre('b2').value := source.Code2.value
destination.execSql;
source.next;
End;
إن شاء الله تكون مفيدة.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
المشاركات : 92
المواضيع 21
:
: 0
الإنتساب : Nov 2015
(05-04-2018, 07:56 PM)أبو معاذ كتب : طيب ،
لنفرض أن ال Source تحوي الاستعلام التالي :
Select Code1 , Code2
From Table1
Where c1= c2
ال Destination تحوي الاستعلام التالي :
Insert into Table2 (A1,A2) Values (:b1 , :b2)
لنجري الآن عملين نقل البيانات :
كود : Source.close;
Source.open;
While Not Source.eof do // eof = End Of File
Begin
destination.close;
;destination.paramettre('b1').value := source.Code1.value
;destination.paramettre('b2').value := source.Code2.value
destination.execSql;
source.next;
End;
إن شاء الله تكون مفيدة.  بارك الله فيك اخي ابو معاد
لكن هدا الجدول يحتوي على اكثر من 25 حقل
و اظن ان كتابة اكثر من 25 سطر كثير نوعا ما بالاضافة انه لم يسبق لي ان استعملت براميتر و لكن هدا لا يهمني يمكن فهمه بسرعة
المشكل عدد السطور الثي سوف انفدها في برماجي و خاصة انني اريد نقل معطيات 7 جداول بنفس الطريقة
هل من طريقة اسهل و اخف
بكاء العين يفضح وبكاء القلب يذبح والبكاء من خشيه الله يربح اللهم اجعلنا ممن يبكى من خشيتك
المشاركات : 1,252
المواضيع 170
:
: 1,500
الإنتساب : Jul 2009
ما في مشكلة ،
عوضا عن تسمية الحقول باسمها الحقيقي ، يمكنك ان تستعمل ترتيبها.
بمعنى ، عندك جدول فيه الحقول التالية :
C1 ,C2,C3...
لاستدعائها ، اما نستعمل اسم الحقل ، او ترتيبه.
Source.fields [o] هو الحقل C1 وهكذا....
While not source.eof do
Begin
For i:=o to 25 do
Begin
Destination.close
Destination.parametrs[i] := source.fileds[i]
Destination.exexsql
Source.next
End
عذرا على الأخطاء لاني اكتب بواسطة هاتفي.
وفقك الله.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
المشاركات : 92
المواضيع 21
:
: 0
الإنتساب : Nov 2015
(05-04-2018, 09:49 PM)أبو معاذ كتب : ما في مشكلة ،
عوضا عن تسمية الحقول باسمها الحقيقي ، يمكنك ان تستعمل ترتيبها.
بمعنى ، عندك جدول فيه الحقول التالية :
C1 ,C2,C3...
لاستدعائها ، اما نستعمل اسم الحقل ، او ترتيبه.
Source.fields [o] هو الحقل C1 وهكذا....
While not source.eof do
Begin
For i:=o to 25 do
Begin
Destination.close
Destination.parametrs[i] := source.fileds[i]
Destination.exexsql
Source.next
End
عذرا على الأخطاء لاني اكتب بواسطة هاتفي.
وفقك الله.
حتى انا اكتب عن طريق الهاتف
سوف اجرب عند دخولي الى البيت
بارك الله فيك و شكرا اخي ابو معاد سوف اخبرك عن الجديد ان شاء الله
بكاء العين يفضح وبكاء القلب يذبح والبكاء من خشيه الله يربح اللهم اجعلنا ممن يبكى من خشيتك
المشاركات : 92
المواضيع 21
:
: 0
الإنتساب : Nov 2015
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
اعتدر اولا على هدا التأخر في الرد و الدي كان خارج نطاقي
بعد دخولي البيت جربت ما قاله الاخ ابو معاد فكانت النتجة بحمد الله رانعة و حتى تعم الفائدة اضع بين يدي اعضاء هدا المنتدى التعليمي الرائع
الطريقة الاولى لنقل التسجيلات من جدول الى اخر
PHP كود : begin
DM1.Source.close; DM1.Source.open;
While Not DM1.Source.eof do // eof = End Of File
Begin
with DM1.destination do
begin Active:=False; SQL.Clear; SQL.Add('Insert into customer (id, FIRSTNAME,LASTNAME,CITY,COUNTRY)'); SQL.Add('Values (:b1 , :b2 , :b3 , :b4 , :b5)'); Params[0].Value := DM1.SourceID.Value; Params[1].Value := DM1.SourceFIRSTNAME.Value; Params[2].Value := DM1.SourceLASTNAME.Value; Params[3].Value := DM1.SourceCITY.Value; Params[4].Value := DM1.SourceCOUNTRY.Value; ExecSQL; end; DM1.source.next; End;
و لكن للاسف الطريقة الثانية والثى هدفها هو ان يكون الكورس مختصر لم تمشي معي الكود و الخطأ فيمايلى
PHP كود : var i : integer; Begin
DM1.Source.close; DM1.Source.open;
While Not DM1.Source.eof do // eof = End Of File
Begin
for i:= 0 to 4 do
with DM1.destination do
begin Active:=False; SQL.Clear; SQL.Add('Insert into customer (id, FIRSTNAME,LASTNAME,CITY,COUNTRY)'); SQL.Add('Values (:b1 , :b2 , :b3 , :b4 , :b5)'); Params[i].Value := DM1.source.Fields[i].Value; ExecSQL; end; DM1.source.next; End;
بكاء العين يفضح وبكاء القلب يذبح والبكاء من خشيه الله يربح اللهم اجعلنا ممن يبكى من خشيتك
المشاركات : 92
المواضيع 21
:
: 0
الإنتساب : Nov 2015
السلام عليكم
ما سبب هدا الخطأ
PHP كود : var i : integer; Begin
DM1.Source.close; DM1.Source.open;
While Not DM1.Source.eof do // eof = End Of File
Begin
for i:= 0 to 4 do
with DM1.destination do
begin Active:=False; SQL.Clear; SQL.Add('Insert into customer (id, FIRSTNAME,LASTNAME,CITY,COUNTRY)'); SQL.Add('Values (:b1 , :b2 , :b3 , :b4 , :b5)'); Params[i].Value := DM1.source.Fields[i].Value; ExecSQL; end; DM1.source.next; End;
بكاء العين يفضح وبكاء القلب يذبح والبكاء من خشيه الله يربح اللهم اجعلنا ممن يبكى من خشيتك
المشاركات : 117
المواضيع 1
:
: 38
الإنتساب : May 2017
حاول إضافة
PHP كود : params[1].DataType:= ftString;
قبل
PHP كود : Params[i].Value := DM1.source.Fields[i].Value;
المشاركات : 92
المواضيع 21
:
: 0
الإنتساب : Nov 2015
(09-04-2018, 10:55 PM)Ben.Ja كتب : حاول إضافة
PHP كود : params[1].DataType:= ftString;
قبل
PHP كود : Params[i].Value := DM1.source.Fields[i].Value;
السلام عليكم و رحمة الله و بركاته
بارك الله فيك اخي لقد دهب الخطأ لن المشكل الان هو ان نقل السجيلات يثم بالحقل و الباقي فراغ كما هو موضح في الصورة و الكود المستعمل هو الثالي
PHP كود : While Not DM1.Source.eof do // eof = End Of File
Begin
for i:= 0 to 4 do
with DM1.destination do
begin Active:=False; SQL.Clear; SQL.Add('Insert into customer (id, FIRSTNAME,LASTNAME,CITY,COUNTRY)'); SQL.Add('Values (:b1 , :b2 , :b3 , :b4 , :b5)'); params[0].DataType:= ftAutoInc ; params[1].DataType:= ftString; params[2].DataType:= ftString; params[3].DataType:= ftString; params[4].DataType:= ftString; Params[i].Value := DM1.source.Fields[i].Value; ExecSQL; end; DM1.source.next; End;
بكاء العين يفضح وبكاء القلب يذبح والبكاء من خشيه الله يربح اللهم اجعلنا ممن يبكى من خشيتك
|