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

سؤالين: L&F و JDBC

مغلق
بدأه صلاح الثبيتي في 27 يناير 2003 · 23 رد · 1,933 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :)

احد عنده فكره كيف اقدر استخدم L&F ببرامجي !!!!!

Metouia look & feel

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

يطلع عندي خطأ ...

:(

السؤال الثاني و هو عن الـ JDBC ..

احد عنده فكره عن حزمة Oracle JDBC Driver !! كيف اقدر اضيفها الى البرنامج لاستعمال قاعدة بيانات اوراكل داخل الجافا ؟؟؟

#2

طيب احد عنده خلفيه عن الاكسس !!!!

انا عندي كود جاهز للجافا .. لكن المشكله ما يطلع عندي اي بيانات :( !!

#3

اعرف اربط الجافا بالاوراكل وبالاكسس

وهي نفس الشئ بس تغير حاجة بسيطة اللي هي عنوان السيرفر اللي فيه قاعدة البيانات بالنسبة للاوراكل

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

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

واي اواركل اللي تستخدمها انت 9 او 8

لان الجامعة فيها النسختين

انت ضع الكود وانا اشوف الخطأ

او راسلني على الايميل

JAVAP@gawab.com

ترى انا فاضي خلصت الفاينالات (الاختبارات النهائية من يوم السبت ولله الحمد )

:D

والسلام عليكم ......

#4

السلام عليكم :)

انا عندي اكواد صحيحه لكن ما عندي درايفر للربط :( ..

كود الجافا مع الاكسس

code.JPG

كود الجافا مع الاوراكل

oracle_code.jpg

الاكواد للاخ مدني ...

علماً اني غيرت اسم الكمبيوتر من الصوره الى اسم الكمبيوتر حقي و نفس الطريقه للـ SID ..

-=-=-=-=-=-

انا استخدم Oracle9i بالبيت ..

الحين انا وش احتاج بالضبط ؟؟ درايفر ؟؟ او وشو بالضبط ؟؟

علماً ما يطلع عندي و لا خطأ .. لكن بدون output ..

#5

بسم الله الرحمن الرحيم

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

بالنسبة للدرايفر فتجده هنا

http://technet.oracle.com/software/tech/ja...bc/content.html

خالد المصرى

#6

بالنسبة للاكسس هل أضفت قاعدة البيانات الى

Data Sources

في ال

Administrator tools

?

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

وانت وضعت Students

على انه ال Data Source

ثم استعملته في ال SQL

على انه اسم ال Table

فهل كل هذا متوافق ؟

أرجو انك تضع الكود الكامل اللي كتبته !

#8

بسم الله الرحمن الرحيم

حاول تقرأ التعليمات المرفقة :o

خالد المصرى

#9
اقتباس
كاتب الرسالة الأصلية : JP3003

بالنسبة للاكسس هل أضفت قاعدة البيانات الى  

Data Sources    

في ال  

Administrator tools

?

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

وانت وضعت Students

على انه ال  Data Source

ثم استعملته في ال  SQL

على انه اسم ال  Table

فهل كل هذا متوافق  ؟  

أرجو انك تضع الكود الكامل اللي كتبته !

ايه انا اضفتها من خلال ادوات الادمن ...

لكن انا مهتم اكثر بربط الجافا بالاوراكل ... :D

#11

بالنسبة لـ L&F

try {

    UIManager.setLookAndFeel("Metouia .MetouiaLook&Feel " );

      } 

      catch (Exception e) { 

      }

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

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#12

السلام عليكم :)

1- اخيراً ربطت الجافا بالاكسس و كان الخطأ بالاسبلنق :D ...

2- ابغى اعرف كيف اربط الجافا بالاوراكل ..

3- بالنسبه للـ L&F .. انا انتظر الحلول ;)

-=-=-=-=-

مشكله جديده مع JTable ..

كيف اقدر انشى Row جديد !!!

import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Students extends JFrame{
	private Connection con = null;
	private Statement st = null;
	private ResultSet rs = null;

	private JTable table;
	private JScrollPane scrollpane;

	public Students(){
		super("Students");
		setSize(500,80);
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		}
		catch(Exception e){}
		try{
			con = DriverManager.getConnection("jdbc:odbc:Students");
			st  = con.createStatement();
			rs  = st.executeQuery("select * from Students");
			while(rs.next()){
				table = new JTable(new Object[][] {{rs.getString("StudentID"),
						 							rs.getString("FirstName"),
						 							rs.getString("LastName"),
						 							rs.getString("Major"),
						 							rs.getString("GPA")}},
						 		   new String[] {"Student ID","First Name","Last Name","Major","GPA"});
			}
			rs.close();
			st.close();
			con.close();
		}
		catch(SQLException e){
			System.out.println(e.toString());
		}
		table.setPreferredScrollableViewportSize(new Dimension(500, 80));
		scrollpane = new JScrollPane(table);
		getContentPane().add(scrollpane, BorderLayout.CENTER);

		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
		});
	}
	public static void main(String[] args){
		new Students().setVisible(true);
	}
}

المشكله بالضبط، البرنامج ياخذ البيانات من الاكسس و لكن يضعها في Row واحد و هذا يسبب مسح بيانات الموجوده بالـ Row و وضع مكانها بيانات الـ Row الجديد !!!

كيف اقدر اخلي البرنامج يضع البيانات في Row معين و بعدين يضع البيانات التي تليها في Row اخر !!!!!

البرنامج موجود بالمرفقات :)

students.zip

#13

معقوله ما احد عنده خلفيه عن الموضوع ؟؟ :eek:

انا حاولت اني ابدل الـ JTable بالـ JTextArea و لكن يضع لي اخر قيمه !! و لا يضعها كلها !!!!!!

شباب ترى كذا باكتب برنامجي على الدوس :(

#14

بسم الله الرحمن الرحيم

اقتباس
معقوله ما احد عنده خلفيه عن الموضوع ؟؟

:(:(:(

حبيبى صلاح الجافا بحر واسع و أغلب الأخوة لم يتعرض لقواعد البيانات نظرا لأنها مرتبطة مع JSP أكثر.

و اعذرنى على التأخير فأنا خارج القاهرة و لا أملك JDK كى اقوم بمتابعة برنامجك.

خالد المصرى

#15

اخي الكريم

بالنسبة لل JTextArea

انت تقول انه يضع اخر قيمة

طيب يمكن لانك استخدمت

setText()

وهي تمسح ما قبلها !

لذلك استخدم هذي المثيود append

بدل setText()

#16

اخ JP3003:

صحيح .. انا كنت استخدم setText .. باروح اجرب append

طيب ما قلت لي عن طريقة ربط الجافا بالاوراكل !!!!

-=-=-=-=-

اخ خالد:

المشكله مش بقواعد البيانات .. المشكله بالـ JTable ..

كيف اضيف Raw جديد كل مره !!!!

#17

شباب لقيت حل مع الـ JTable ..

لكن يا اخ JP3003: ما قلت لي طريقة ربط الاوراكل بالجافا ؟؟؟ :mad:

#18

Salah,

the best way to populate a jtable is to use the constructor

JTable(Vector data,Vector headers);

the data vector is Vector filled with Vector for each row.So you could go through the resultset and add the string to a vector and then add that vector to the parent vector

Vector data = new Vector();
Vector OneRow;
while(rs.next())
{
//create the row vector
OneRow = new Vector();
//add student name
OneRow.add(rs.getString("Name"));
//add student mark
OneRow.add(rs.getString("Mark"));
//now add this row vector to the data vector
data.add(OneRow);
}

// create the headers vector
Vector headers = new Vector();
//add the name header
headers.add(new String("Name"));
//add mark header
headers.add(new String("Mark"));

// now create the JTable

JTable table = new JTable(data,headers);

This should work fine

I will answer other questions as soon as I get the chance

Madani

#19

بالنسبة لربط الجافا مع الاوراكل اذا كانوا في نفس الجهاز

وشغلت سيرفر الاوراكل

فأنت لاتحتاج ان تكتب ال URL وانما تستخدم ال default driver

#20

السلام عليكم :)

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

لكن طريقتك سهله و تنفعني اكثر..

JP3003: طبعاً الاوراكل و الجافا بنفس الجهاز ..

اذا شغلت سيرفر الاوراكل !! وش قصدك بالـ default driver ..

ترااااني اول مره اتعامل مع الـ JDBC ..

#21

اسف على التاخر في الرد يمكنك ذلك اخي صلاح عن طريق

method في jtable اسمها

setValueAt(object,row,column)

حيث تتحدد فيها 3 برامتر

الاول القيمة التي توضع في الخلية و يجب ان تكون object من class

يعني اذا اردت ان تضع int يجب ان تحوله ال object من نوع Integer

(wrapper classes)

و الثاني تحدد فيه row

و الثالث ال column

وهذا مثال من مشروع عملته

i=0;
  while(rs.next())
    {

    table.setValueAt(rs.getString("coursename"),i,0);
    table.setValueAt(new Integer(rs.getInt("courseid")),i,1);
    table.setValueAt(rs.getString("days"),i,2);
   table.setValueAt(rs.getString("coursetime"),i,3);
     table.setValueAt(new Integer(rs.getInt("classno")),i,4);
   table.setValueAt(new Integer(rs.getInt("roomno")),i,5);
   i++;
    }//while

وارجو ان تجد ماتريد

و السلام

(f)(f)(f)

#22

اخ نادر..

البارميتر الاول،، هل هو الـ header حق كل عمود ؟؟؟

و مشكووور على المثال .. :)

#23

هذا ليس ال header

و انما القيمة التي سوف توضع في الخلايا التابعة ل table خلية خلية حسب الصف و العمود

واما ال headers تحدد عند تعريف ال table

والسلام

هذا الموضوع مغلق.

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