تعبئة جدول البيانات JTable ببيانات جدول قاعدة البيانات
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: قواعد البيانات JAVA JDBC
صفحة 1 من اصل 1 • شاطر
تعبئة جدول البيانات JTable ببيانات جدول قاعدة البيانات
بسم الله الرحمن الرحيم
أهلا وسهلا بكم إخوانى الكرام .... منذ فترة كتبت الاستاذة /زهراء مقال غاية فى الروعة لكيفية أنشاء و استخدام جدول البيانات أو العنصر الرسومى JTable وكنا نقوم بملىء أو تعبئة بيانات العنصر الرسومى يدويا JTable
فى هذا المقال إن شاء الله تعالى سنتعلم سويا كيفية تعبئة جدول البيانات JTable ببيانات جدول قاعدة البيانات وذلك من خلال استخدام الواجهة DefaultTableModel و ذلك على النحو التالى :
2_ نقوم بالاعلان عن كائنات الاتصال بقاعدة البيانات على النحو التالى :
1_ثم نقوم بانشاء فئة وليكن بأسم buildTableModel من خلال استخدام الواجهة DefaultTableModel على النحو التالى و ذلك للحصول اسماء حقول الجدول و بيانات الحقول :
2_ بعد ذلك نقوم بانشاء الجدول مع تمرير الطريقة التى تم إنشائها
و الكود الكامل على النحو التالى :
أشكركم
أهلا وسهلا بكم إخوانى الكرام .... منذ فترة كتبت الاستاذة /زهراء مقال غاية فى الروعة لكيفية أنشاء و استخدام جدول البيانات أو العنصر الرسومى JTable وكنا نقوم بملىء أو تعبئة بيانات العنصر الرسومى يدويا JTable
فى هذا المقال إن شاء الله تعالى سنتعلم سويا كيفية تعبئة جدول البيانات JTable ببيانات جدول قاعدة البيانات وذلك من خلال استخدام الواجهة DefaultTableModel و ذلك على النحو التالى :
2_ نقوم بالاعلان عن كائنات الاتصال بقاعدة البيانات على النحو التالى :
- الكود:
Connection con;
Statement stmt;
ResultSet rs;
1_ثم نقوم بانشاء فئة وليكن بأسم buildTableModel من خلال استخدام الواجهة DefaultTableModel على النحو التالى و ذلك للحصول اسماء حقول الجدول و بيانات الحقول :
- الكود:
public static DefaultTableModel buildTableModel(ResultSet rs)
throws SQLException {
ResultSetMetaData metaData = rs.getMetaData();
// الحصول على اسماء اعمدة الجدول
Vector<String> columnNames = new Vector<String>();
int columnCount = metaData.getColumnCount();
for (int column = 1; column <= columnCount; column++) {
columnNames.add(metaData.getColumnName(column));
}
// الحصول على بيانات الجدول
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while (rs.next()) {
Vector<Object> vector = new Vector<Object>();
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
vector.add(rs.getObject(columnIndex));
}
data.add(vector);
}
return new DefaultTableModel(data, columnNames);
}
2_ بعد ذلك نقوم بانشاء الجدول مع تمرير الطريقة التى تم إنشائها
- الكود:
JTable table = new JTable(buildTableModel(rs));
و الكود الكامل على النحو التالى :
- الكود:
package rs;
import java.sql.*;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class Rs {
public static void main(String[] args) {
Connection con;
Statement stmt;
ResultSet rs;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=db1.mdb");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String SQL = "select * from WORKERS";
rs = stmt.executeQuery( SQL );
JTable table = new JTable(buildTableModel(rs));
JFrame f = new JFrame("Simple example");
f.setSize(400, 250);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(3);
f.add(table);
f.add(new JScrollPane(table));
f.setVisible(true);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Rs.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(Rs.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static DefaultTableModel buildTableModel(ResultSet rs)
throws SQLException {
ResultSetMetaData metaData = rs.getMetaData();
// names of columns
Vector<String> columnNames = new Vector<String>();
int columnCount = metaData.getColumnCount();
for (int column = 1; column <= columnCount; column++) {
columnNames.add(metaData.getColumnName(column));
}
// data of the table
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while (rs.next()) {
Vector<Object> vector = new Vector<Object>();
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
vector.add(rs.getObject(columnIndex));
}
data.add(vector);
}
return new DefaultTableModel(data, columnNames);
}
}
أشكركم
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعبئة جدول البيانات JTable ببيانات جدول قاعدة البيانات
دايما سباق للخير أخى أحمد أشكرك
زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: قواعد البيانات JAVA JDBC
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
» كبسولات نباتية فارغة
» شحن عملات تيك توك مجانا بدون رقم هاتف
» فوط صحية ناعمة لايام الولادة بالقطن العضوية قوية الامتصاص| organyckw
» اعلانات الباصات الكويت | شركة دعاية واعلان | كواليتي ميكرز | 0096597550465
» كيفية تحديد سعر تصميم تطبيقات الجوال– ايكون تك
» تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object
» كيفية تأسيس شركة في دبي
» افضل واحدث كاميرات المراقبة الامنية والمشاهدة عبر الانترنت
» اصنع شبكتك بنفسك