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

استفسار عن عمل insert لأكثر من value في الlist bpx

بدأه maas في 1 يوليو 2010 · 10 رد · 620 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

يا جماعة انه عندي form فيها الname و الaddress و الusername

استطعت أن أعمل insert للname و الaddress

فالusername عيارة عن listbox فيها values و يقوم الuser باختيار أكثر من value

حاولت إني أعمل insert و لكنه لا يقوم إلا بعمل insert في الdatabase لأول value و يقوم بعمل igone للباقيين

و هذا هو الكود:

String name=request.getParameter("name"
String address= request.getParameter("address"
String username=rrequest.getParameter("username"

عملت اconnection 

وو في الinsert
insert into users values (name,address,user) values (???)
ps.setString(1,user);
ps.setString(2,address)
ps.setString(3,username)
#2

هل هناك خطأ معين يحصل؟

إن لم يكن فالشيفرة كاملة

تحياتي

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

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

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

728x90.png

#3

يا ليت تكتب الشيفرة كاملة حتى نسطيع تحديد الخطأ (HTML+SERVELT)

تم تعديل هذه المشاركة بواسطة EMNALI في 1 يوليو 2010 في 17:35

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#4

insert into users values (name,address,user) values (?,?,?)

تم تعديل هذه المشاركة بواسطة Speed_Of_Light في 1 يوليو 2010 في 17:45

#5

للأسف يا أخوان لم تفهموني لأنني لم أشرح المشكلة واضحا

فسأكرر

عندي listbox و فيه أسامي الusernames حيث يقوم الuser باختيار أكثر من username في آن واحد

حيث أن الjsp تحتوي على 3 fields

و هم الname و نوعه text و الaddress و نوعه text و الusernames و هو listbox فيها أسامي حيث يختار أكثر من اسم

و الكود هذا عندما يختار الuser أكثر من اسم فانه يعمل insert لأول اسم و لا يعمل insert لباقي الأسماء الذين اختارهم

فمثلا اختار محمد و جاسم و أحمد ففي الdatabase أجد فقط محمد و الإسمان الآخران لا يوجدان

الكود الموجود هو الذي استخدمه فقد قرأت انه يجب أن أعمل for loop أو while loop و لكن لا أعرف ما الطريقة فهذا الكود فقط يعمل على أخذ قيمة و لا يأخذ أكثر من قيمة عند عملية الinsert في الdatabase فأنا أستخدم

String name=request.getParameter("name");
String address= request.getParameter("address"); 
String username=request.getParameter("username"); 



query= insert into users values (name,address,usename) values (???)

ps.setString(1,user); 
ps.setString(2,address);
ps.setString(3,username);
#6

إستخدم request.getParameterValues

و إعمل loop على ال String[] الراجع منها..

#7

الأخ هويدي

يعني أنني أعمل for loop قبل

ps.setString(3,username);

مع عدم تغيير الstatement

#8

على حسب ال business اللي عندك, فمثلا لو أنت تريد ألا تضيف أي سجلات طالما أنه لم يتم إختيار username , فممكن تكتب الكود هكذا:

String name=request.getParameter("name");
String address= request.getParameter("address"); 
String[] usernames=request.getParameterValues("username"); 

for (int i=0; i<usernames.length; i++){
	query= insert into users (name,address,usenames) values ( ?, ?, ?);
	ps.setString(1,user); 
	ps.setString(2,address);
	ps.setString(3,usernames);
}

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

#9

سؤال أخير

طبعاً هالكود يصلح إن اختار الuser أي value و إن لم يختار أي شي؟

شكرا جزيلاً سأجرب الكود

و سأخبركم

تم تعديل هذه المشاركة بواسطة maas في 2 يوليو 2010 في 20:26

#10
اقتباس
و إن لم يختار أي شي؟

على حسب ما تريد, هل تريد عدم إدخال أي سجل, أم تريد إدخال سجل لكن قيمة ال username = null ؟؟

#11

إذا لم يختار فسيكون الusername = null هذا هو الcondition

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