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

ما هي افضل و اسهل طريقة لتخزين البيانات بلغة الجافا

بدأه nazimm في 4 يناير 2010 · 19 رد · 1,749 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اعزائي مشرفي واعضاء هذا المنتدى اححيكم من كل قلبي على هذا المنتدى الرائع

صراحة لم اجد حتى الان في شبة الانترنت افضل و اروع منه لذلك قررت الانضمام اليكم اليوم و ارجو ان تقبلوني بينكم كاخن صغير.....

ووفقكم الله إن شاء الله....

لدي استفسار من الصحاب الخبرة .... عن كيفية تخزين البيانات بدون الاتصال بأي قاعدة بيانات كانت ...

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

وحياكم الله

pro1402bzlw_thumb.jpg

pro1402bzlw.png

اريد ارفاق ال كود ولمن لا اعرف كيف ...

تم تعديل هذه المشاركة بواسطة nazimm في 4 يناير 2010 في 19:33

#2
اقتباس
سوال بسيط ولكن اين المجيب

لا داعي لمثل هذه الجمل

-------------------------------------

بالنسبة لتخزين البيانات فيمكنك تخزينها في ملفات نصية ( csv format مثلا )، أو ملفات xml.

كيف أكتب سطرا داخل ملف نصي ؟

إدارة المرفقات موجودة تحت المحرر، أو ممكن تضع الكود مباشرة داخل الرد، لكن لا تنسى وضعه داخل الوسم

، الزر "<>"
#3

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

من اجل الجملة معك حق ولكن الصراحة لم اجد بأي صفحة حتى الان الرد المناسب على سؤالي....

لو تلقي نظرة على مثالي اكون لك من الشاكرين ....

اذا كان بالامكان المساعدة بطريقة الاضافة أو المسح أو بعض التعديلات اممكنة و جزاك الله كللللللللللللللللللللللللللللللللللللللل خير إن شاء الله

#4

أصبح لدي معجبين B) تريد أن أهديك توقيعي :lol:

يبدو لي من برنامجك أنك تريد الكتابة والقراءة معا وليس الكتابة فقط؟؟ على كل حال سنبدأ بالكتابة.

لكن أول ملاحظة، بما أن الواجهة عربية، من الأفضل أن تجعل إتجاه المكونات من اليمين إى اليسار، على هذا الشكل

post-181903-12626257611525_thumb.png

يمكنك عمل ذلك كالتالي

	public MyProject() {
 	initComponents();
		applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
	}

****************************************

لتخزين البيانات الموجودة في الجدول في ملف، يجب أولا استرجاع هذه البيانات.

المثال التالي يسترجع بيانات الجدول ويضعها في مصفوفة String

int rowCount = jTable1.getRowCount();
int colCount = jTable1.getColumnCount();
String[][] data = new String[rowCount][colCount];
for (int i = 0; i < rowCount; i++) {
	for (int j = 0; j < colCount; j++) {
		data[j] = (String)jTable1.getValueAt(i, j);
	}
}

تم تعديل هذه المشاركة بواسطة herch في 4 يناير 2010 في 21:34

1
#5

جزاك الله خير الجزاء اخي العزيز على هذه التفاعلات السريعة و الردود الوافية

توقيعك لاريده ا اخي لأني احفظه عندي منذ فترة طويلة و لكن بعض من بصماتك الخلابة على برنامجي :)

الان كما تفضلت سابقاَ اني اريد القراءة و الكتابة في الجدول ولكن تواجهني الان مشكلة مع التعامل مع الجداول الا و هي كيفية تعديل و حذف سطر معين مع مراعاة المناسبة أو المحريرين

كمثال بسيط : اذا حذف أحد المناسبات فسيحذف تلقائيا كل شئ متعلق بها من محريرين و الى ذلك ..... كذلك الأمر مع الكتاب أذا حذف أحد أسمأهم سوف يحذف من جميع المناسبات ....

لك جزيل الشكر أخي العزيز و تحياتي الخالصة لك من أرض الكاتالون ....

#6

لن تستطيع التمييز بين حذف المناسبة وحذف المحررين في جدول واحد

تحتاج إلى هيكلية رئيسي - تفصيلي master detail

بمعنى آخر هناك جدول رئيسي يحتوي على الأحداث

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

بالمناسبة الموضوع يمكن اختصاره في التخزين على ملف

ابحث في المنتدى عن التخزين على ملف وستجد الكثير

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

الحقيقة لم أفهم لسؤال جيدا :blink:

#8

ان كنت لا تريد التعامل مع قواعد البيانت ك SQL,ORACLE فعليك محاكاة قاعدة البيانات

مثلا الحقل سيكون عبارة عن كائن Object وقاعدة البيانات عبارة عن كائن أخر مسئول عن ادارة الجداول (جمل الاستعلام والتعديل والحذف)

#9

السلام عليكم مرة اخرى اخواني .....

سؤالي المطروح اخي HERCH اني كيف استطيع حذف احدى المناسبات كمثال عيد الاضحى و كل شىء متعلق بها

او احدى اسماء الاشخاص من حميع المناسبات ...

للاسف اني لم افهم ماذا يعني الاخ علاء ب ال master detail او >يفية ريط اكثر من جدول ببعضهم

سوف ارسل ل>م برنامجي الرءيسي كي تتوضح الفكرة اكثر ....ولو كان بالامكان وضع بعض احدى لماساتكم عليه كي تتوضح الفكرة اكون لكم من الشاكرين

وجزاكم الله خير الجزاء

تم تعديل هذه المشاركة بواسطة nazimm في 5 يناير 2010 في 23:38

#10

للإضافة للجدول، استعمل الطريقة insertRow ومرر لها مصفوفة تحتوي على معلومات السطر.

أضف هذا الكود في الكود الخاص بزر الإضافة

DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
Object[] rowData = {jComboBox1.getSelectedItem(), jComboBox2.getSelectedItem(), jTextField1.getText(), jComboBox3.getSelectedItem()};
model.addRow(rowData);

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

أضف هذا الكود في الكود الخاص بزر الحذف

DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
model.removeRow(jTable1.getSelectedRow());

مازلت لم أفهم ماذا تريد.

الافضل أن تسمي المكونات باسماء مفهومة، مثلا بدل jButton1 تضع buttonAdd وهكذا

#11

ساحاول ان اشرح لك عبر هذه الصور

pptsz46iqd.png

يعني اذا اردت حذف عيد الاضحى سوف يتم حذف كل شىء بداخله

او

كمثال اخر اذا حذف احمد سوف يتم حذفه وكل ما قد كتب في كامل الجدول ...

لذلك كان سوءلي في البداية ما ه افضل طريقة لتخزين المعلومات اذا وجدت كمية هاءلة من المعلومات فما الحل ... اقتراحك اعكبني اخي Herch و شكرا جزيلا على الافادة ... ولكن كيف اجدول داخل جدول كمثالي هذا او كما تفضل الاخ علاء صراحة لا اعرف

و مشككككككككككككككككككككككككككككككككككككككككور مرة اخرى على ردودك السريعة

#12

أفضل طريقة لتخزين البيانات هي قواعد البيانات، لكنك لا تريد استعمالها، لماذا؟؟

#13

لا يمكنك أن تعيد اختراع العجلة

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

تحياتي

1
حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#14

واضح من مثالك أن بياناتك يجب أن تكون موزعة على عدة جداول:

المناسبات

الأسماء

الهدايا

الرسائل

بالإضافة إلى جدول رئيسي

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

أما القيام بذلك يدوياً فليس بمستحيل بالرغم من صعوبته ...

عليك كتابة نظام إدارة قواعد بيانات ميكروي متخص بعمليات استخراج البيانات من الجدول وإضافتها والتأكد من الشروط ...

لكن السؤال الأساسي الذي طرحته هو:

ما هي افضل و اسهل طريقة لتخزين البيانات بلغة الجافا ؟

وجوابه هو بالتأكيد باستخدام قواعد البيانات ! (أياً كان نوعها)

تم تعديل هذه المشاركة بواسطة Speed_Of_Light في 6 يناير 2010 في 16:37

1
#15

السلام عليكم اخواني مرة اخرى و شكرا جزيلا على افاداتكم لي ....

لماذا لا اريد التعامل مع قواعد البيانات سؤال وجيه أخي Herch و الجواب هو سرعة التعامل مع البيانات و التنقل يها و التعديل عليها باي حاسب متوفر لدينا ....

عند استعمالي لقواعد البيانات لا يخون لي هذا الشئ و ساكون دأما مرتبطا ب نف الحاسب الذي اعمل عليه أو بقاعدة البيانات التي يجب غلي اخذها معي اينما ذهبت ...

شكرا جزيلا على افاداتكم اخواني و بارك الله فيكم على هذا المنتذى الرائع ....

تحياتي لكم من الاراضي الكاتالونية

#16

حتى ولو أردت التخزين على ملف

فأنت أيضاً مجبر على أخذ الملفات معك أينما ذهبت

ما لم تقم بالعمل على معمارية خادم عميل client/server architecture

وتقوم بتوفير قاعدة البيانات على الإنترنت وعند إرادة إضافة بيانات تتصل بقاعدة البيانات

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#17

اخي ان لم تكن تريد استخدام قاعدة بيانات من اي نوع، فإن الامر سيكون مرهق. قواعد البيانات تسهل عليك الكثير ليس شرطا ان تستخدم SQL , ORACLE

ان لم ترد استخدام قاعدة بيانات، فإقتراحي ان تستخدم ال Serialized Objects وتخزنها في file عادي لكن هل ستتميز بالكفاءة على حساب قواعد البيانات؟ فمثلا إن اردت التعديل على بنية الجداول كإضافة حقل جديد او تعديل على حقل موجود فهذا صعب خاصة ان لم تكن تملك ملفات الشيفرة المصدرية، فقط ال class files

وكما قال السيد علاء

اقتباس
حتى ولو أردت التخزين على ملف

فأنت أيضاً مجبر على أخذ الملفات معك أينما ذهبت

#18

هذا برنامج يستخدم ال Serialized Objects البرنامج قديم وهو لإدارة صيدلية يمكن اعتباره انه مقسم لجدولين "الزبائن" و "الادوية" ويتم التخزين على القرص الصلب في ملف.

جربه لعلك تجد ما يفيدك.

PHARMACY.rar

1
#19

شكرا على هذه الاقتراحات اخوان

فكرتي كانت , عن كيفية عمل ChipCard لشركة معينة لكي يتمكن العامل اخدها حيث اراد و التع=يل عليها باي حاسب متوفر لديه و لو كان مربوط بشبكة الانترنت ام لا يجب ان لا يشكل لدي اي عائق

لذلك طريقة الcilent and Server ليست الاجدى لي في هذه الحالة

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

اظن اقراحك اخي sin هو الافضل لفعل هذا الشئ و شكرا على المرفقات

تحياتي لكم جميعا و بارك الله بجهودكم

#20

يمكنك استعمال قاعدة البيانات derby، ويمكنك استخدامها ك embedded database، أي يمكنك حملها مع البرنامج.

استخدام قاعده بيانات Derby

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

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

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

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

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