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

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

رائج
بدأه Mahmoud Kelany في 2 يوليو 2010 · 138 رد · 21,159 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#26

بالنسبة لمشكلة اللغة العربية فى قاعدة البيانات

غير التشفير للجداول الى utf8 وال collation الى utf8_unicode_ci

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

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#27
Oracle_Java كتب:

لماذا تريد اعادة ترتيب الرقم ؟

مع انى لا ارى لها اى استخدام

هل شاهدت الرد الموجود فيه حل شريط القوائم؟ وهل نفع الحل معاك؟

سلام

المستخدم له ان يرى الترتيب بشكل جميل

حتى يتمكن من الذهاب الى صف معين برقمه

كانك فى مثلا برنامج excel تجد عند حذف صف يتم اعاده ترتيب الصفوف اللتى بعده تلقائيا

ايوه حل القوائم تمام والحمدلله

ناقص عندى السوال الترتيب واللغه العربيه

لان الحل الذى عرضته لم يعمل

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 3 يوليو 2010 في 21:22

Software Developer
Mahmoudkelany.com


 

#28

انا استخدم

ResourceBundle

لكن عندما اقوم بعمل كائن من هذه الفئه

يظهر لى الخطا

Exception in thread "main" java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key file

الكود بيكون هكذا

logInButton.setText(ResourceBundle.getBundle("resources/guiAr").getString("file"));

مع ان الkey اللى اسمه file موجود فى الملف الـ guiAr.properties

اين يوجد الخطا اذن ؟؟

Software Developer
Mahmoudkelany.com


 

#29

لماذا لا تستخدم قاعدة بيانات محمولة مثل SQLite او Access

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

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

لتقوم بعمل اعدادات البرنامج بنفسك

على فكرة Access و SQLite يستوعبان بيانات حتى حجم 4 GIGABYTE

ولا اظن ان هناك Desktop Application يصل الى هذه الكمية المهولة من البيانات

ناهيك عن عمليات ال BACKUP وال RESTORE والتى ستمثل لك مشكلة

أقترح عليك Access لانها تدعم ال Connection pooling اما SQLite فلا تدعمها

او ما رأيك ؟

سلام

تم تعديل هذه المشاركة بواسطة Oracle_Java في 4 يوليو 2010 في 08:50


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#30
Oracle_Java كتب:

لماذا لا تستخدم قاعدة بيانات محمولة مثل SQLite او Access

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

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

لتقوم بعمل اعدادات البرنامج بنفسك

على فكرة Access و SQLite يستوعبان بيانات حتى حجم 4 GIGABYTE

ولا اظن ان هناك Desktop Application يصل الى هذه الكمية المهولة من البيانات

ناهيك عن عمليات ال BACKUP وال RESTORE والتى ستمثل لك مشكلة

أقترح عليك Access لانها تدعم ال Connection pooling اما SQLite فلا تدعمها

او ما رأيك ؟

سلام

فعلا عندك حق

وانا كنت هابحث على حل لهذه المشكله ولكنى كنت اعتقد ان هناك حل مع mySQL

لكن كيف احول هذه القاعده من mySQL الى access او SQLite

بحيث انى احافظ على كل حاجه لكن مكان الحفظ هو الذى يختلف انما كل شىء ثابت

هل هناك برامج تحول لى هذه القاعده من mySQL الى اى نوع اخر ؟؟؟

Software Developer
Mahmoudkelany.com


 

#31

تم التغيير الى access database بنجاح

واللغه العربيه تم حلها

لكن لم اعدل مستخدم او احذف مستخدم بتظهر لى الـ exception دا

post-217802-025768900 1278235684_thumb.p

مع انه مش كان بيظهر لم كنت بستخدم mySQL

فما الخطا ؟؟؟

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 4 يوليو 2010 في 12:30

Software Developer
Mahmoudkelany.com


 

#32
Mahmoud Kelany كتب:

تم التغيير الى access database بنجاح

واللغه العربيه تم حلها

لكن لم اعدل مستخدم او احذف مستخدم بتظهر لى الـ exception دا

post-217802-025768900 1278235684_thumb.p

مع انه مش كان بيظهر لم كنت بستخدم mySQL

فما الخطا ؟؟؟

الا يوجد من يوضح لى الخطا هذذا ما سببه

حيث انها تعمل على قاعده بيانات الـ mysQl بكل كفائه

انما على الـ access

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

المرفقات
Untitled.png

Software Developer
Mahmoudkelany.com


 

#33

لو اضفت قاعدة البيانات لكان افضل

على اي حال قمت بفتح الكود المرفق في اول المشاركة ووجدت انك اضفت علامة ' في جمله SQL لمتغير ( item.getType ) من النوع long

String updateQuery = "UPDATE users SET username = '" + item.getUsername() + "', type = '" + item.getType() + "', password = '" + item.getPassword() + "' WHERE  username = '" + oldUserName + "'";
//

قد يفيدك هذا الصنف في ترتيب جمل SQL

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html

لو كان هذا المشروع ويب لكان افضل، ما فائدة تعدد انواع المستخدمين اذا كان البرنامج سيعمل على جهاز واحد؟

على اي حال فهذا جهد جبار وستستفيد منك كثيرا .

تم تعديل هذه المشاركة بواسطة العيافـي في 6 يوليو 2010 في 02:43

1
#34
العيافـي كتب:

لو اضفت قاعدة البيانات لكان افضل

على اي حال قمت بفتح الكود المرفق في اول المشاركة ووجدت انك اضفت علامة ' في جمله SQL لمتغير ( item.getType ) من النوع long

String updateQuery = "UPDATE users SET username = '" + item.getUsername() + "', type = '" + item.getType() + "', password = '" + item.getPassword() + "' WHERE  username = '" + oldUserName + "'";
//

قد يفيدك هذا الصنف في ترتيب جمل SQL

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html

لو كان هذا المشروع ويب لكان افضل، ما فائدة تعدد انواع المستخدمين اذا كان البرنامج سيعمل على جهاز واحد؟

على اي حال فهذا جهد جبار وستستفيد منك كثيرا .

+1

فعلا ملاحظه جيده اخى العيافى حلت المشكله

لكن استغرب لماذا لم تحدث خطا عند استخدام my SQL

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

على العموم سوف اضع اخر تعديل لحد الان وسوف احاول فى استخدماDerby

وان شاء لله تكون احسن من هولاء

لتحميل قاعده البيانات المشروع بعد التعديل

ومرفق ايضا قاعديتى البيانات التى من نوع my SQL , Access

لكن اللى المشروع شغال عليها الان هى my sql

لتفعيل تشغيل قاعده البيانات access اذهب الى DbService.java

وقم بعمل الكود هذا كتعليق

static String driver = "com.mysql.jdbc.Driver";
    static String url = "jdbc:mysql://localhost:3306/mobarklib";

وقم بالغاء التعليق من على الكود الذى يعلوه مباشره

هذا

    //    static String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    //    static String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=mobarklib.mdb";

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

وان شاء الله افيدك بالاخبار لم اشوف هل هانجح ولا لا بس ان شاء الله تنجح وبتوفيق ربنا ومساعدتكم ان شاء الله

انما بالنسبه لفكره المستخدمين

فقد يكون صاحب المكتبه لديه ااكتر من مستخدم

لديه مثلا عامله فى المكتبه فيعطيها صلاحيه الاشراف على المبيعات

لديه مثلا متابع على البيانات يراها فقط ليرى الاسعار

فهذا زائر فقط

انما المدير فلديه كل الصلحيات

اتمنى ان تكون وجهه النظر وصلت لك اخى الكريم

سلام عليكم

وشكرا لكل من ساعد فى التعديل والتطوير من مفهومى وبكل كلمه توجيه

شكر لكم جميعا

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 6 يوليو 2010 في 21:30

Software Developer
Mahmoudkelany.com


 

#35
Mahmoud Kelany كتب:

+1

لتحميل قاعده البيانات المشروع بعد التعديل

ومرفق ايضا قاعديتى البيانات التى من نوع my SQL , Access

معذرة بجد بجد انا مش اخدت بالى انى مش وضعت اللينك

لكن للتحميل من هنا

MobarkLib_Last.zip

معلش كان عندى شويه ظروف وممكن مش كنت مركز

2

Software Developer
Mahmoudkelany.com


 

#36
Mahmoud Kelany كتب:

واللغه العربيه تم حلها

لا أظن هذا

هل جربت ان تجعل واجهة النظام او Locale انجليزى مثلا (English(United States))

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

ثم تستعرضها مرة اخرى ستظهر عندك كأدوات استفهام ??????

جرب واخبرنى بالنتيجة

سلام


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#37
Oracle_Java كتب:

لا أظن هذا

هل جربت ان تجعل واجهة النظام او Locale انجليزى مثلا (English(United States))

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

ثم تستعرضها مرة اخرى ستظهر عندك كأدوات استفهام ??????

جرب واخبرنى بالنتيجة

سلام

اخى الكريم انا اللغه العربيه تم حلها معى فى الـ Access وليس فى الـ my SQL

الى الان لم تحل فى قواعد الـ my SQL

فانا بحاول اعملها بقاعده بيانات Derby

لكن واجهتنى مشكله ان بعد ما صنعت قاعده البيانات بيقولى انها غير موجوده

لكنى احاول معها الان

دعواتكم

وان شاء الله افيدكم بكل جديد فالمشروع

سلام عليكم

Software Developer
Mahmoudkelany.com


 

#38

قمت بانشاء قاعده بيانات بالـ derby

ولكن عندما قومت بالعمل عليها

فانه يحتاج الى الـ Driver

org.apache.derby.jdbc.ClientDriver

ممكن اعرف اجيبه منين ؟

لانى مش لاقيه ؟

Software Developer
Mahmoudkelany.com


 

#39

لا أحب Derby/Java DB ...

ثقيلة، ضخمة .... مقيتة !

هل فكرت بتجريب HSQLDB ؟

سريعة جداً، أصغر من DerbyDB و100% جافا !

#40
Speed_Of_Light كتب:

لا أحب Derby/Java DB ...

ثقيلة، ضخمة .... مقيتة !

هل فكرت بتجريب HSQLDB ؟

سريعة جداً، أصغر من DerbyDB و100% جافا !

اخى الكريم

انا اتجهت الى Derby علشان سمعت انها بتعمل قاعده البيانات على هيئه ملف Jar

فبكدا المشروع بتاعى مش هيحتاج غير JRE علشان يشتغل بس

انما مثلا my SQL و Access كل واحد منهم عاوز البرنامج الخاص بيه

هل ال HSQLDB تكون على هيئه ملف Jar ام ماذا ؟؟

وياريت حد يجاوبنى بخصوص الـ Driver بتاع Dreby

ولكم جزيل الشكر

سلام عليكم

Software Developer
Mahmoudkelany.com


 

#41

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

انتبه: قاعدة البيانات في DerbyDB لا تكون على شكل ملف jar ! إنما الـ Driver يكون كذلك لأنها قاعدة بيانات مكتوبة بجافا 100%.

كذلك الأمر بالنسبة لـ HSQLDB : قاعدة بيانات مكتوبة بجافا 100%

لكن الأخيرة أفضل بكثير على جميع المستويات ...

أظنك تستخدم NetBeans صح ؟

JavaDB وهي نسخة sun/oracle من DerbyDB مضمنة بشكل افتراضي مع الـ JDK

لإنشاء قاعدة بيانات DerbyDB وتضمين الـ Drvier: قم بإنشاء اتصال جديد بقاعدة البيانات (Services > Databases > RightClick > New Connection)

وقم باختيار JavaDB (embedded) وحدد باقي المعلومات كالعادة :D

نفس الفكرة بالنسبة لكل قواعد البيانات !

إن لم تجد اسم قاعدة البيانات في الخيارات المتاحة عند إنشاء اتصال جديد عليك إضافة الـ Driver عن طريق تضمينه في مجلد الـ Libraries في مشروعك

ولا تسألني من أين أحصل على الـ Driver !

بالطبع من الموقع الرسمي

:D

#42
Speed_Of_Light كتب:

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

انتبه: قاعدة البيانات في DerbyDB لا تكون على شكل ملف jar ! إنما الـ Driver يكون كذلك لأنها قاعدة بيانات مكتوبة بجافا 100%.

كذلك الأمر بالنسبة لـ HSQLDB : قاعدة بيانات مكتوبة بجافا 100%

لكن الأخيرة أفضل بكثير على جميع المستويات ...

أظنك تستخدم NetBeans صح ؟

JavaDB وهي نسخة sun/oracle من DerbyDB مضمنة بشكل افتراضي مع الـ JDK

لإنشاء قاعدة بيانات DerbyDB وتضمين الـ Drvier: قم بإنشاء اتصال جديد بقاعدة البيانات (Services > Databases > RightClick > New Connection)

وقم باختيار JavaDB (embedded) وحدد باقي المعلومات كالعادة :D

نفس الفكرة بالنسبة لكل قواعد البيانات !

إن لم تجد اسم قاعدة البيانات في الخيارات المتاحة عند إنشاء اتصال جديد عليك إضافة الـ Driver عن طريق تضمينه في مجلد الـ Libraries في مشروعك

ولا تسألني من أين أحصل على الـ Driver !

بالطبع من الموقع الرسمي

:D

معذره اخى الكريم

لكن انا اعتقد ذلك لكن الخطا الذى ظهر لى هو الذى جعلنى اشك ان هناك Driver يضاف الى البرنامج

لذلك سالت

وهذه صوره الخطا

post-217802-010251100 1278973106_thumb.p

ولكن عند اضافه الـDriver ظهر لى

NullPointerException

على انه لم يتم اختيار مستخدم واحد باستخدام داله selectOne الموجوده فى UserServices class

على الرغم انها لم تظهر فى استخدامى الى My SQL , Access

ولا اعلم ما السبب

المرفقات
Untitled.png

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 13 يوليو 2010 في 13:46

Software Developer
Mahmoudkelany.com


 

#43

اولا اعرف انك قمت بحل مشكلة اللغة العربية مع Access

ولكن جرب ما قلته لك فى الرد السابق بتغيير اللغة الى English United States

وستعرف المشكلة (عن تجربة)

Mahmoud Kelany كتب:

اخى الكريم

انا اتجهت الى Derby علشان سمعت انها بتعمل قاعده البيانات على هيئه ملف Jar

فبكدا المشروع بتاعى مش هيحتاج غير JRE علشان يشتغل بس

Derby تكون قاعدة بياناتها على هيئة مجلد Folder وليس jar

وفعلا لن تحتاج الا الى JRE لتشغيل التطبيق

Mahmoud Kelany كتب:

انما مثلا my SQL و Access كل واحد منهم عاوز البرنامج الخاص بيه

هذه المعلومة خاطئة فمثلا MySql تحتاج الى التنصيب لانها تعمل ك Database Server

ولكن Access يمكن استخدامها بطريقتين

الاولى باستخدام ODBC DataSource

بان تعمل DNS لقاعدة البيانات فى Control Panel

ثم تستخدم اسمه فى الاتصال وليكن مثلا

jdbc:odbc:Mobarklib

لكن هذه الطريقة لا انصحك بها

لانها لن تحل مشكلتك فهى بهذا تكون مثل MySql

وستحتاج ان تعلم خالك او المستخدم كيف يقوم بعمل DNS

اما الثانية فهى ان تجعل قاعدة البيانات محمولة مع تطبيقك وتستخدم JDBC-ODBC bridge

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

Connection conn=DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=database/Mobarklib.mdb");

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

وفى كلتا الحالتين الاولى والثانية لا تحتاج ابدا الى تنصيب برنامج Microsoft Access

على الجهاز (جربها بنفسك)

بالتوفيق

تم تعديل هذه المشاركة بواسطة Oracle_Java في 14 يوليو 2010 في 16:10


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#44
Oracle_Java كتب:

اولا اعرف انك قمت بحل مشكلة اللغة العربية مع Access

ولكن جرب ما قلته لك فى الرد السابق بتغيير اللغة الى English United States

وستعرف المشكلة (عن تجربة)

Derby تكون قاعدة بياناتها على هيئة مجلد Folder وليس jar

وفعلا لن تحتاج الا الى JRE لتشغيل التطبيق

هذه المعلومة خاطئة فمثلا MySql تحتاج الى التنصيب لانها تعمل ك Database Server

ولكن Access يمكن استخدامها بطريقتين

الاولى باستخدام ODBC DataSource

بان تعمل DNS لقاعدة البيانات فى Control Panel

ثم تستخدم اسمه فى الاتصال وليكن مثلا

jdbc:odbc:Mobarklib

لكن هذه الطريقة لا انصحك بها

لانها لن تحل مشكلتك فهى بهذا تكون مثل MySql

وستحتاج ان تعلم خالك او المستخدم كيف يقوم بعمل DNS

اما الثانية فهى ان تجعل قاعدة البيانات محمولة مع تطبيقك وتستخدم JDBC-ODBC bridge

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

Connection conn=DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=database/Mobarklib.mdb");

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

وفى كلتا الحالتين الاولى والثانية لا تحتاج ابدا الى تنصيب برنامج Microsoft Access

على الجهاز (جربها بنفسك)

بالتوفيق

انا اللغه العربيه اتحلت فى الـ access

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

وبعض الاخوه نصحونى بالـDerby لكن لم اتكمن من الدخول الى قاعده البيانات مع ان البيانات موجوده فى القاعده لكن بيقولى البيانات خطا

مش عارف هل لى ان اتعلم derby مع ان انا عارف ان كل قواعد البيانات زى بعض

لكن مش عارف ايه اللى حصل فى الربط بقواعد البيانات

ايوه انا عرفت ان الـ Derby بتكون على هيئه ملف

لكن التعامل معاها لم يتم مش عارف اتعامل معاها ازاى

مع انى بتعامل معاها

كل غيرته انى عملت قاعده بيانات بنفس التكوين بتاع الـ mySQL لكن بيقولى فيه خطا فى البيانات

هل اوامر قواعد البيانات تفرق معاها اظن لالا

لكن لم اعلم لماذا يحدث ذلك

انا عملت قاعده البيانات وغيرت اسم الDriver , URL فقط لكن بيقولى الخطا اللى ذكرته

تمام بالنسبه للـ access لكن مش عارف اتعامل مع الاخطاء بتاعت الحذف و التعديل وانشاء مستخدم جديد

المشروع انا رفعته به قاعده بيانات الـ access ممكن تشوفها وتعرف ما اقول

ويا ريت لو تشوف لى الخطا فين من حيث التعامل مع المستخدمين

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

انما بالنسبه للغه لم افهم ما تقوله حقا

انا بكتب عربى وانجليزى بتشغل كويس

فعلا القاعده انا ضايفها فى مجلد المشروع

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

Software Developer
Mahmoudkelany.com


 

#45

هذا مشروعك بعد اجراء بعض التعديلات عليه

http://www.4shared.com/file/ZHB5Omjf/MobarkLib_Last.html

لا اعرف لماذا لم استطع ارفاقه فى الرد مع ان حجمه mb 1.6

بالنسبة لموضوع اللغة العربية

غير اللغة كما يلى

post-230456-096893000 1279123912_thumb.p

ثم قم بتشغيل البرنامج واضافة بعض البيانات العربية اليه واستعراضها مرة اخرى

هل تكتب بطريقة سليمة ؟

تحياتى

المرفقات
Untitled.png


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#46
Oracle_Java كتب:

هذا مشروعك بعد اجراء بعض التعديلات عليه

http://www.4shared.com/file/ZHB5Omjf/MobarkLib_Last.html

لا اعرف لماذا لم استطع ارفاقه فى الرد مع ان حجمه mb 1.6

بالنسبة لموضوع اللغة العربية

غير اللغة كما يلى

post-230456-096893000 1279123912_thumb.p

ثم قم بتشغيل البرنامج واضافة بعض البيانات العربية اليه واستعراضها مرة اخرى

هل تكتب بطريقة سليمة ؟

تحياتى

جزاء الله خيرا

سوف الاحظ ما تم تعديله

لكن بالنسبه للغه

انا والله بغيرها لقيتها اساسا زى اللى فالصوره ؟

مش عارف بقا قصدك ايه بانى اغير اللغه انا اساسا مش بشتغل غير على الUS

ارجوا التوضيح اكتر بالنسبه للغه وعلى اى قاعده بيانات تقصد ان اقوم بكتابه العربى بها

هل على الـ My SQL , Access ?

Software Developer
Mahmoudkelany.com


 

#47

اخى الكريم

لقد قومت ببعض التعديلات على DbService class , MainFrame class , LoginClass

وكلها مفهومه والحمدلله

لكن الغير مفهوم لدى

هو كود فحص اذا كان المدخلات على جدول المبيعات Double ولا لا

باستخدامك هذا الكود

   private void setupTextFields() throws BadLocationException {
        numberCountityTextField.setDocument(new PlainDocument() {

            String mytext = this.getText(0, this.getLength()).trim();

            @Override
            public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
                if (isDouble(mytext + str)) {
                    super.insertString(offs, str, a);
                }
            }
        });

        priceOfbuyTextField.setDocument(new PlainDocument() {

            String mytext = this.getText(0, this.getLength()).trim();

            @Override
            public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
                if (isDouble(mytext + str)) {
                    super.insertString(offs, str, a);
                }
            }
        });

        priceOfSaleTextField.setDocument(new PlainDocument() {

            String mytext = this.getText(0, this.getLength()).trim();

            @Override
            public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
                if (isDouble(mytext + str)) {
                    super.insertString(offs, str, a);
                }
            }
        });

    }

    private boolean isDouble(String value) {
        try {
            Double.parseDouble(value);
            return true;
        } catch (Exception e) {
            return false;
        }
    }

ممكن بس اعرف لماذا وضعت هذا الكود

ومن الملاحظ انه مستخدم مره واحد فى البناء لداله MainFrame

فهما فائدته اذن ؟؟؟

والتعديلل على داله الـ login تعديل منطقى سليم اشكرك عليه

شكرا على اقتطاعك جزء من وقتك والتعديل على هذا الكود

Software Developer
Mahmoudkelany.com


 

#48

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

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

يظهر لى خطا ونوع General

كما بالصوره التاليه

post-217802-003722800 1279133786_thumb.p

وياتى الخطا فى هذا السطر

Statement stmnt = connection.createStatement();

فى كل مره ؟

هل انت متاكد انه يعمل لديك ؟؟

المرفقات
dddd.png

Software Developer
Mahmoudkelany.com


 

#49

بالنسبة للغة لم اكن اعرف انك تعمل على Win7

لذا اتبع الخطوات التالية

كما فى الصورة

post-230456-086140200 1279144691_thumb.p

ثم جرب ما قلته سابقا

اما بالنسبة الى الكود التالى

private void setupTextFields() throws BadLocationException {
    	numberCountityTextField.setDocument(new PlainDocument() {

        	String mytext = "";

        	@Override
        	public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
            	mytext = this.getText(0, this.getLength()).trim();
            	if (isDouble(mytext + str)) {
                	super.insertString(offs, str, a);
            	}
        	}
    	});

    	priceOfbuyTextField.setDocument(new PlainDocument() {

        	String mytext = "";

        	@Override
        	public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
            	mytext = this.getText(0, this.getLength()).trim();
            	if (isDouble(mytext + str)) {
                	super.insertString(offs, str, a);
            	}
        	}
    	});

    	priceOfSaleTextField.setDocument(new PlainDocument() {

        	String mytext = "";

        	@Override
        	public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
            	mytext = this.getText(0, this.getLength()).trim();
            	if (isDouble(mytext + str)) {
                	super.insertString(offs, str, a);
            	}
        	}
    	});

	}

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

بدلا من استخدامك JFormatted Text Field

والذى كان ينتج عنه Exception

ملاحظة الكود هذا به تغيير لذا قم بنسخه واستخدامه بدلا من الكود السابق

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

والتى قمت فيها بحل المشكلة التى ظهرت عندك General Error

اتعرف ما سببها ؟ انك دائما تقوم باغلاق الاتصال فى كل الدوال فى finally block

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

وستضطر الى انشاء اتصال منفصل لكل دالة على حدا وهذا ما سيكلفك الكثير

وقمت بالتعديل على قاعدة البيانات ايضا لتستطيع تسجيل النوع Double

post-230456-033166600 1279146970_thumb.p

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

post-230456-080567100 1279147076_thumb.p

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

http://www.4shared.com/file/ecyleHnm/_2__MobarkLib_Last.html

تحياتى

المرفقات
123.png456.png999.png

تم تعديل هذه المشاركة بواسطة Oracle_Java في 15 يوليو 2010 في 01:41


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#50
Oracle_Java كتب:

بالنسبة للغة لم اكن اعرف انك تعمل على Win7

لذا اتبع الخطوات التالية

كما فى الصورة

post-230456-086140200 1279144691_thumb.p

ثم جرب ما قلته سابقا

اما بالنسبة الى الكود التالى

private void setupTextFields() throws BadLocationException {
    	numberCountityTextField.setDocument(new PlainDocument() {

        	String mytext = "";

        	@Override
        	public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
            	mytext = this.getText(0, this.getLength()).trim();
            	if (isDouble(mytext + str)) {
                	super.insertString(offs, str, a);
            	}
        	}
    	});

    	priceOfbuyTextField.setDocument(new PlainDocument() {

        	String mytext = "";

        	@Override
        	public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
            	mytext = this.getText(0, this.getLength()).trim();
            	if (isDouble(mytext + str)) {
                	super.insertString(offs, str, a);
            	}
        	}
    	});

    	priceOfSaleTextField.setDocument(new PlainDocument() {

        	String mytext = "";

        	@Override
        	public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
            	mytext = this.getText(0, this.getLength()).trim();
            	if (isDouble(mytext + str)) {
                	super.insertString(offs, str, a);
            	}
        	}
    	});

	}

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

بدلا من استخدامك JFormatted Text Field

والذى كان ينتج عنه Exception

ملاحظة الكود هذا به تغيير لذا قم بنسخه واستخدامه بدلا من الكود السابق

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

والتى قمت فيها بحل المشكلة التى ظهرت عندك General Error

اتعرف ما سببها ؟ انك دائما تقوم باغلاق الاتصال فى كل الدوال فى finally block

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

وستضطر الى انشاء اتصال منفصل لكل دالة على حدا وهذا ما سيكلفك الكثير

وقمت بالتعديل على قاعدة البيانات ايضا لتستطيع تسجيل النوع Double

post-230456-033166600 1279146970_thumb.p

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

post-230456-080567100 1279147076_thumb.p

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

http://www.4shared.com/file/ecyleHnm/_2__MobarkLib_Last.html

تحياتى

انا شوفت النسخه الجديده

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

بالنسبه للعربى انا جربت اكتب عربى كتب كويس

بالنسبه للكود انا فاهم معناه انما التكوين لانه overloading لدوال موجوده فهاشوفها ان شاء الله لانى عندى شويه برد كدا

فلازم اركز

اه انا عارف السبب فالاغلاق دا وحاولت فيه لكن كان بتواجهنى مشكله الreturn فى الدوال بتاعت delete , insert للانها كانت بترجع قيم

معلش بقا البرد ماثر فمش مركز :(

لكن سوالى هل الكميه تكون بها كسور ؟؟؟

يعنى 12.33 ؟؟؟

لكن بالنسبه للغه والله زى ما انت موضح فالصوره هيا اسااسا كدا يعنى مش مغير انا ف حاجه

وادى صوره بعد ما كتبت بالعربى فى قاعده البيانات

post-217802-078603200 1279154027_thumb.p

اعتقد ان كل حاجه دلوقتى تمام ؟ ولا ايه ؟

مش ينفع بردوا اعيد ترتيب الـ ID ?

او بمعنى اصح انا ممكن اشيله من الجدول

بس عاوز طريقه اعمل select لصف معين اوصل لمكانه فالجدول

فانا مش بعرف اوصل له الا عن طريق اشوف الـ ID واعرض معلوماته

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

المرفقات
dfd;fk;.png

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 15 يوليو 2010 في 03:49

Software Developer
Mahmoudkelany.com


 

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

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

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

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

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