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

نسخ كافة سجلات ملف لملف آخر باستخدام الكوري

بدأه shalwan في 28 أغسطس 2010 · 7 رد · 1,077 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ارغب بنسخ كافة سجلات ملف لملف اخر مشابه له بالحقول بدون تحديد الحقول في SQL

مثال الملف PART1 به معلومات والملف PART2 فارغ ومتشابه معه بالحقول

مثال:

ADOCOMMAND.TEXT:= 'INSERT INTO PART2

(هنا تختار الحقول التي ترغب تعبئتها معلومات)

SELECT

تختار الحقول التي ترغب نسخ معلوماتها

FROM PART1 WHERE RC1>0'

نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا

#2

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

يمكنك إنشاء جدول آخر (باسم آخر طبعاً) مطابق للجدول الأول تماماً من ناحية التصميم أو التركيب باستعمال SQL دون الحاجة لإنشائه يدوياً مسبقاً، مع إمكانية نسخ أو عدم نسخ سجلات من الجدول الأول إلى الجدول الثاني، أي يمكن إنشاء جدول جديد مطابق، و يكون إما فارغاً، أو محتوياً على كافة سجلات الجدول الأول، أو جزء من سجلات الجدول الأول حسب شرط تحدده.

مثلاً - حسب سؤالك - يمكننا إنشاء الجدول PART2 كالتالي:

1. إنشاء الجدول الثاني مع احتوائه على كافة السجلات من الجدول الأول:

SELECT Part1.* INTO Part2 FROM Part1

2. إنشاء الجدول الثاني مع احتوائه على بعض السجلات من الجدول الأول:

SELECT Part1.* INTO Part2 FROM Part1 WHERE (Part1.RC1 BETWEEN 1 AND 100)

3. إنشاء الجدول الثاني فارغاً - على اعتبار أنه لا يوجد رقم RC1 أصغر من 1:

SELECT Part1.* INTO Part2 FROM Part1 WHERE (Part1.RC1 < 1)

* ملاحظة:

عبارة SELECT ... INTO تحذف الجدول الثاني إذا كان موجوداً و تعيد إنشاءه.

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

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

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

#3
najy_zl كتب:

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

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

شكرا لتفاعلك اخي ناجي

هذه المعلومه مفيده جدا ولم يكن لدي خلفيه عنها ولذلك سترسخ بالذاكره فأشكرك عليها

لكن الملف الجديد به حقول اضفتها وليست بالملف السايق

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

ارجوا البحث بذاكرتك اخي ناجي والوصول الى الحل واذا توفرتك لديك الحلين فارجوا تزويدي ولك الشكر

نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا

#4
shalwan كتب:

ارجوا البحث والوصول الى الحل واذا توفرت لديكم الحلين افضل

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

اقتباس

اخواني انتظر الإجابه منكم ولكم الشكر

نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا

#5

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

أرجو ذكر ما هو نوع قاعدة البيانات التي تتعامل معها: Access أو Paradox أو SQL Server أو ....

و السلام.

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

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

#6
najy_zl كتب:

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

أرجو ذكر ما هو نوع قاعدة البيانات التي تتعامل معها: Access أو Paradox أو SQL Server أو ....

و السلام.

السلام عليكم

نوعين كلا على حده access و sqlserver

نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا

#7

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

لا يختلف Access و SQL Server من هذه الناحية. الطريقة التالية تعمل مع Access

1. أضف المكون TADOCommand إلى الـ Form و اربطه مع ADOConnection أو اضبط الخاصية ConnectionString للـ ADOCommand لتتصل بقاعدة البيانات.

2. استخدم في الخاصية CommandText للـ ADOCommand جملة SQL كالتالية لإنشاء حقل أو حقول جديدة في الجدول. الصيغة العامة للجملة كالتالي:

ALTER TABLE tablename ADD COLUMN fieldname type(size)

حيث:

tablename: اسم الجدول الذي تريد تعديله.

fieldname: اسم الحقل الجديد الذي تريد إضافته.

type: نوع بيانات الحقل.

(size): حجم الحقل. نحتاجه فقط مع الحقول النصية (من 1 إلى 255)

بالنسبة إلى أنواع البيانات نستخدم إحدى الكلمات التالية:

TEXT: حقل نصي (و نحدد حجمه).

MEMO: مفكرة (أو مذكرة). نص غير محدد الحجم.

COUNTER: ترقيم تلقائي (عدد صحيح طويل).

BYTE: بايت (عدد صحيح بين 0 و 255).

SHORT: عدد صحيح قصير (2 بايت).

LONG: عدد صحيح طويل (4 بايت).

SINGLE: عدد حقيقي (كسري) بدقة مفردة.

DOUBLE: عدد حقيقي (كسري) بدقة مزدوجة.

CURRENCY: عملة.

DATETIME: تاريخ/وقت.

YESNO: منطقي (صح/خطأ أو نعم/لا).

LONGBINARY: بيانات ثنائية غير محددة الحجم.

GUID: معرف النسخة المماثلة.

** المثال التالي يقوم بتعديل جدول اسمه Customers حيث يضيف 3 حقول:

* الحقل Phone نوعه TEXT (نصي) و حجم 20.

* الحقل Married نوعه YESNO (منطقي).

* الحقل Notes نوعه MEMO (مفكرة).

procedure TForm1.Button1Click(Sender: TObject);
begin
    ADOCommand1.CommandText := 'ALTER TABLE Customers ADD COLUMN Phone TEXT(20), Married YESNO, Notes MEMO';
    ADOCommand1.Execute;
end;

* الأمر لا يختلف كثيراً مع SQL Server. لكن الأهم أن تسمية أنواع البيانات تختلف مثل int و nvarchar و ntext و bit و money ... إلخ. (و هي الأنواع التي نراها عند تصميمنا لجدول في SQL Server).

* تحتوي جملة ALTER TABLE على بعض التفاصيل الأخرى مثل إنشاء فهرس أو تحديد أن الحقل لا يقبل القيم الفارغة NULLS... إلخ. و يمكن الاطلاع عليها في تعليمات Access أو تعليمات SQL Server (المعروفة بـ Books Online).

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

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

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

#8

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

كل عام وانتم بخير

سأطبق المعلومة تعلاه بعد العيد بأذن الله

يبقى الجزء الثاني

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

نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…