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

ملا combobox من قاعدة بيانات

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

السلام عليكم

كيف يمكن ان املا combobox من قاعدة بيانات

حيث اجعل text اللي يظهر مثلا هو Country_name و value لكل item هو ID الخاص باسم البلد

ولما اعمل select في combobox كيف يمكن ان استرجع فيمة selectedItem and value

شكرا

#2

هاجيب البيانات من قاعده البيانات

وبعدين اعمل ليها add فى الـ comboboxواحد واحد

او احصل على البيانات على هيئه Array وبعدين اثناء تعريف الـ ComBoBox ادخل له هذه المصفوفه كمتغيرات فى البناء الخاص به

مثلا

Object [] arra  = new Object [20];  
JComboBox box = new JComboBox(arra);

كدا انا ضفت البيانات الى الـComBoBox

ازاى بقا احصل على البيان من الـ ComBoBox

باستخدام الداله

box.getSelectedItem();

او لو عاوز الترتيب بتاعها

box.getSelectedIndex();

يمكنك القراءه اكثر عن الـ JComboBox وعن الدوال التى بها

من هنا

http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JComboBox.html

ودا مثال على الاستخدام لكنه مثال عادى وليس باستخدام قواعد البيانات

http://download.oracle.com/javase/tutorial/uiswing/components/combobox.html

بالتوفيق :)

Software Developer
Mahmoudkelany.com


 

#3

شكرا عالرد اللي قلته اعرف اعمله

لكن اريد ان اجعل ل combobox قيمة tet تظهر بداخله وقيمة values احصل عليها عند الضغط

مثلا

اعمل select ID, Country

لكن اعل قيمة country تظهؤ في الكموبو بوكس لكن قيمة ID احصل عليها عند اختيار item من combobox

يعني حاجة تشبه VB عند التعامل مع القوائم

#4
lovely_ned كتب:

شكرا عالرد اللي قلته اعرف اعمله

لكن اريد ان اجعل ل combobox قيمة tet تظهر بداخله وقيمة values احصل عليها عند الضغط

مثلا

اعمل select ID, Country

لكن اعل قيمة country تظهؤ في الكموبو بوكس لكن قيمة ID احصل عليها عند اختيار item من combobox

يعني حاجة تشبه VB عند التعامل مع القوائم

على حد فهمى للسوال

انك تريدين ان تضعى قيم الـبلاد فى الـ combobox لكن عند اختيار البلد من الـ combobox يعود اليكى بقيمه الـ ID الموجوده فى قاعده البيانات

انتى ممكن تعمليها ازاى عندك Array مكونه من عمودين اللى هما Country , id وعدد الصفوف اللى هترجع لك من الداتا بيز

ساعتها هتحطى القيم بتاعت البلاد فى الـ combobox ولم تختارى من الـcombobox تشوفى ايه المقابل ليه فى العمود التانى اللى موجود فى الـ Array وبكدا تحددى الـ ID

وتستخدميه زى ما انتى عاوزه

يا اما ان كانت البلاد غير مكرره فانتى عندك لكل بلد ID خاص بيها مممكن تعملى ليهم ترتيب وتضعيهم فى الـ combobox وبعدين تتعاملى من منطلق هذا الترتيب

هى المشكله مسئله تفكير فى طريقه العمل فقط

اتمنى ان تكون اتضحت الفكره شويه

بالتوفيق :)

Software Developer
Mahmoudkelany.com


 

#5

طيب انا عملت الكلاس:

public class ValueCombo  { 
        int ID; 
        String  Val; 

        public ValueCombo (int ID, String Val) { 
                this.ID = ID; 
                this.Val = Val; 
        } 

        public int getID() { 
                return ID;
        } 

        public String getVal() { 
                return Val; 
        }



}

ثم كلاس

import java.awt.List;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;

import javax.swing.JComboBox;




public class Categorie {

	private JComboBox Cat;

	public Categorie (JComboBox Cat1)
	{

	    Cat=Cat1;
	    Cat.removeAll();

	    ArrayList<ValueCombo> list = new ArrayList<ValueCombo>(); 



		Connection con = new ConBDD().getCon();
		String SqlStr= "Select IDCat, Cat from Categorie";
		try {
			Statement stmt = con.createStatement();
			ResultSet rs= stmt.executeQuery(SqlStr);
			Cat.addItem(new ValueCombo(0, ""));
			while (rs.next())
			{
				//Cat.addItem(new ValueCombo(rs.getInt(1), rs.getString(2)));
				list.add(new ValueCombo(rs.getInt("IDCat"), rs.getString("NomCat")));
}
			rs.close();



		} catch (SQLException e) {

			e.printStackTrace();
		}


}		



}

كيف يمكن ان املا الكمبو بوكس بالداتا

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

#6

أعتقد أن compobox تحتوي على setModel تأخذ ComboBoxModell

وتساعدك في أن تضعي ما تشائين هناك

ابحثي حول الموضوع وستجدي الكثير من الأمثلة

تحياتي

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

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

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

728x90.png

#7
Vector edit_group = new Vector();
		 try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		try {
			Connection	conn = DriverManager.getConnection("jdbc:odbc:CLOTHES");
			Statement stmt = conn.createStatement();
			ResultSet rs=stmt.executeQuery("SELECT GROUP_NAME FROM ITEM_GROUP");
		//	ResultSet rs1=stmt.executeQuery("SELECT ITEM_COLOR FROM ITEM ");

			while(rs.next()){
				String name=rs.getString("GROUP_NAME");
				edit_group.add(name);
				edit_group.toArray();


			}


		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
edit_group_name_combo = new javax.swing.JComboBox(edit_group.toArray());

edit_group_name_combo.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
        edit_group_name_comboActionPerformed(evt);
    }
});

// Code adding the component to the parent container - not shown here
#8

أفضل التعامل مع Model على التعامل مع المصفوفة أو المتجه

تحياتي

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

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

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

728x90.png

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