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

primary key المدخل من قبل المستخدم كيفية التآكد من صحته

بدأه mm1122 في 5 أغسطس 2011 · 45 رد · 1,640 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#26

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

Software Developer
Mahmoudkelany.com


 

#27

statement = connection.createStatement();

String select = "SELECT * FROM COLLEGE" ;

resultSet = statement.executeQuery(select);

int size = 0;

if (resultSet != null) {

resultSet.beforeFirst();

resultSet.last();

size = resultSet.getRow();

}

System.out.println(size);

انا فقط سويت بحث سريع تبين لي اني احتاج اني اضع شي بين القوسين بس ما فهمت ماذا يقصد به connection.createStatement();

استنتجت هذا الشي من الخطأ الذي ظهرلي Result set type is TYPE_FORWARD_ONLY

#28

المفروض ان الكود سلم

انت متاكد من اسم الجدول ؟؟

Software Developer
Mahmoudkelany.com


 

#29

اشكرك اخوي على تفاعلك الرائع المشكلة ذهبت بعد ان اضفت هذا السطر ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY بين القوسين في انشاء الجملة ولكن ما معناه لم افهمة صراحة.

#30
public int getDataLength() throws SQLException {
    	Statement stmnt = connection.createStatement();
    	ResultSet rs = stmnt.executeQuery("SELECT * FROM users");
    	int size = 0;
    	if (rs != null) {
        	rs.beforeFirst();
        	rs.last();
        	size = rs.getRow();
    	}
    	System.out.println(size);
    	return size;
	}

استخدم الداله دى لو مش مظبوطه معاك

بس اقبى غير اسم الجدول مكان users لاسم الجدول بتاعك

Software Developer
Mahmoudkelany.com


 

#31

انا شغاله معايا بدون هذه المتغيرات

تقريبا علشان انت شغال Oracle

لان انا شغال MySQL

createStatement(ResultSetType , ResultSetConcurency);

ResultSetType

عباره عن ثلاث انواع

TYPE_FORWARD_ONLY يعنى جلب البيانات من قاعده البيانات يكون دائما للامام فقط وهو عن طريق استخدام الداله next فقط وهذه القيمه الافتراضيه للـ ResultSetType

TYPE_SCROLL_INSENSITIVE يعنى ان جلب البيانات من قاعده البيانات يكون دائرى من اى مكان باستخدام احدى الدوال التى هاذكرها بعد ذلك

لكن يكون غير حساس لاى تغيرات تحدث على قاعده البيانات فى حاله جلب البيانات

( يعنى لو عمل Select للبيانات فقد تم وضعها فى الذاكره , اذا قام احد المستخدم بالتعديل عليها فلم يتم اخد ذلك فى الاعتبار )

TYPE_SCROLL_SENSITIVE نفس السابقه لكنه يكون حساس لاى تعديلات تحدث على قاعده البيانات

الداول التى ممكن تستخدمها فى حاله الـجلب الدائرى

absolute(int row)

first()

previous()

last()

relative(int row)

and

وايضا مممكن تستخدم الدوال العاديه

afterLast()

beforeFirst()

ResultSetConcurency

عباره عن نوعين

CONCUR_READ_ONLY هذا النوع يجعل قاعده الـ ResultSet غير قابله للتعديل يعنى لو فيه تعديلات لا يقوم بتطبيقها على قاعده البيانات ( للقراءه فقط )

CONCUR_UPDATABLE هذا النوع يجعل قاعده الـ ResultSet قابله للتعديل يعنى لو فيه تعديلات يقوم بتطبيقها على قاعده البيانات ( للقراءه والكتابه )

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 7 أغسطس 2011 في 01:00

Software Developer
Mahmoudkelany.com


 

#32

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

الى فهمته من موضوع أنك عايز تدخل البريمرى كاى بنفسك وتتأكد هل هو موجود قبل كدا ولا لأ

أ

فلنفرض أنك من محل مشتريات وقمت بتوزيع كوبونات للخصم ( كمثال ) وكل كيبون ليه كود مثل ده as56 مثلا

وعايز تتأكد أن الكيبون ده محدش أستعمله قبل كدا

ويعرضلك كمان أسم الى أشترى بالرقم ده

أنا عملت الموضوع على طلاب رقم الطالب وأسم الطالب

وعملت فورم تسجيل عادى

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

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

أنت وشطارتك بقا :lol:

أسف على الأطالة المشروع بالمرفقات

قم بأرفاق ملف الأتصال بقاعدة بيانات sqlite

ChickID.rar

تم تعديل هذه المشاركة بواسطة Black_Drag0n في 7 أغسطس 2011 في 01:38

#33

طيب لو دخلت رقم 1 وبعدين كتبت 2 بقى الـ Id بيساوى 12 بيقولى انه تبع خالد

ازاى وخالد رقمه 1 مش 12

Software Developer
Mahmoudkelany.com


 

#34

براحة عليا شوية أنا لسة مبتدأ

لم أنتبه لهذه المشكلة

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



ChickId.setText(null);

ليصيح الكود



private void ChickID() {



Connection Connection = null;
try


{
Connection = new DBConnect().getConnection();
Statement stmnt = Connection.createStatement();
ResultSet rs = stmnt.executeQuery("select name from user where id like '%" + ID.getText() + "%'");
ChickId.setText(null);
if (ID.getText().length() == 0 ) {
ChickId.setText(null);
} else {
ChickId.setText(rs.getString("name"));
}



}
catch(SQLException actionException){


}
}


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

تم تعديل هذه المشاركة بواسطة Black_Drag0n في 7 أغسطس 2011 في 13:12

#35

أسف هناك مشكلة أخرى لم أنتبه اليها

وهى فى دالة سكول للبحث

إذا كان هناك طالب فى قاعدة البيانات رقمه 555 وقمت بكتابة 5 فى رقم الكود سوف يظهر لك هذه الطالب

وتفاديا لهذه المشكلة قم بألغاء العلامات ' و %

'% يكون هنا أسم التيكست فيلد %' (قم بألغاء علامه التنصيص وفى المئة

جملة الأستعلام بعد أذالة العلامات

"select name from user where id like " + ID.getText() + ""
#36
اقتباس

ما انت هتعرف رقمها فى التقرير اللى هيطلع علشان تطبعه

"هيطلع" هذا فعل مبنى للمجهول وكأنه سيخرج بالسحر والشعوذة

انت المبرمج :haha: اكتب لى خطوات اظهار التقرير المذكور

من بداية ضغط المستخدم على زر "اظهار التقرير" او "طباعة"


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

الأنفال ۳۳                                  
 

#37
MOHAMED FATHEI كتب:

"هيطلع" هذا فعل مبنى للمجهول وكأنه سيخرج بالسحر والشعوذة

انت المبرمج :haha: اكتب لى خطوات اظهار التقرير المذكور

من بداية ضغط المستخدم على زر "اظهار التقرير" او "طباعة"

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

المهم مش هنخلص من قصه ابوزيد دى هههههه

هتشوف هو اسمه ايه وتعمل اضافه فاتوره زى ما قولنا

بعد ما تعمل اضافه فاتوره هترجع الـ id بتاع الفاتوره اللى تم اضافتها لهذا الحساب

وبعدين تظهر له شكل الفاتوره

هيكون فيها الاتى

--------------------------------رقم الفاتوره : id

الاسم : name ----------------------------------------------التاريخ : Date

المسلسل-------الصنف--------الكمية -------- سعره الوحده---------- السعر الكلى

1------------------جبنة------------2---------------- 10-------------------- 20

2------------------زيتون-----------1----------------- 5--------------------- 5

3------------------زبادى-----------5----------------- 1--------------------- 5

علامه الـ dash علشان يظهر كانه جدول بس مش اكتر

تصور لشكل الفاتوره

الـ id هيظهر من الرقم اللى اتخزنت فيه الفاتوره

والـname هيظهر من الـ FK اللى حصل للفاتوره تحزين عليه

والـ data هيكون مسجل فى جدول الفواتير

عاوز ايه تانى ؟؟؟ ( انت صايم ولا حاجه )

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 7 أغسطس 2011 في 16:07

Software Developer
Mahmoudkelany.com


 

#38

أنت شغالين تتخانقوا ومحدش أدانى رأيه برده

هل الفكرة الى عملتها دى حلوة ولا وحشة

أنا تنبهت للخطأ الى قولتلى عليه أخى محمود

ويمكن أستخدام DocumentListener بدل من CaretUpdate

هل الفكرة كويسة ؟؟؟؟؟

هل تحتاج ألى تعديلات غير ال DocumentListener

وتقبلوا تحياتى

#39
Black_Drag0n كتب:

أنت شغالين تتخانقوا ومحدش أدانى رأيه برده

دا الطبيعى يا عم هههههه

هل الفكرة الى عملتها دى حلوة ولا وحشة

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

أنا تنبهت للخطأ الى قولتلى عليه أخى محمود

ويمكن أستخدام DocumentListener بدل من CaretUpdate

هل الفكرة كويسة ؟؟؟؟؟

مش قولت لك مش شوفت الكود

هل تحتاج ألى تعديلات غير ال DocumentListener

وتقبلوا تحياتى

Software Developer
Mahmoudkelany.com


 

#40

انا صايم بس مش قوى ههههه

اقتباس

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

والفاعل ضمير مستتر تقديره هو عائد على التقرير يا استاذ العربى

وكأن التقرير هو اللى مشغلك(الفاعل) مش انت اللى مشغله

اقتباس

بعد ما تعمل اضافه فاتوره هترجع الـ id بتاع الفاتوره اللى تم اضافتها لهذا الحساب

صح ولكن اكتب الاستعلام query

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 7 أغسطس 2011 في 21:18


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

الأنفال ۳۳                                  
 

#41
MOHAMED FATHEI كتب:

صح ولكن اكتب الاستعلام query

انتظر المشروع كاملا

قريبا فى الاسواق

باقى جزء بسيط جدا الخاص بالتقرير ( ما انت عارف اخوك ميح فيه ههههه )

التقرير دا هيأخرنى اوووى :(

لسه هاشوف اازاى ابعت برامترز للتقرير وهيكون فيه تقريبا 2 Select حاجه كدا معقده هههههه

ما تساعد يا مستر محمد فتحى

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 8 أغسطس 2011 في 12:01

Software Developer
Mahmoudkelany.com


 

#42

اعتبر المشروع خلص وكله تمام والشئ الوحيد الذى لم يكتمل بعد هو الاستعلام

اكتبه (العملية بسيطة جدا select thing from table where condition)

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

وانا معك حتى النهاية


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

الأنفال ۳۳                                  
 

#43
MOHAMED FATHEI كتب:

اعتبر المشروع خلص وكله تمام والشئ الوحيد الذى لم يكتمل بعد هو الاستعلام

اكتبه (العملية بسيطة جدا select thing from table where condition)

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

وانا معك حتى النهاية

ياعم انا مش هاكتب حاجه انا شغال فالمشروع بقولك فاضل موضوع الReport فقط

وشغال على ذلك

Software Developer
Mahmoudkelany.com


 

#44

نهدي شويه يا جماعه ؟ ولا حابين أفقلكو الموضوع و أطلعكو بره :P

#45

اتفضل ياعم محمد

/index.php?showtopic=246576

انا مخلصه امبارح

لكن التقرير اللى تعبنى شويه ( اول مره اعمل تقاير بقا هههههههه )

Software Developer
Mahmoudkelany.com


 

#46

استخدم Sequance في أوراكل

أو استخدم autoincrement في mySQL واحصل على قيمة العمود بعد الإضافة انظر هنا لمحة جافاوية 47: من قواعد البيانات

تحياتي

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

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

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

728x90.png

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

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

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

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

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