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

مشكل في إنشاء جدول في Mysql بي جافا

بدأه mohammeding في 24 سبتمبر 2008 · 7 رد · 883 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أرجو مساعدة أنا أقوم بعمل لأول مشروع لي بقاعدة البيانات بي جافا

أقوم بتطوير برنامج لتسيير مكتبة

في هذه الكلاس أقوم بعمل جدول فيه أسم و اللقب و لكن مايبغي يتشكل الجدول

ماني عارف المشكل ارجو المساعدة

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.*;
import java.awt.*;
import javax.swing.*;
 public class save extends JFrame
 {	static Connection conn=null;
	 static Statement st=null;

   JPanel pannoRech,boutons;
   JLabel jlnom,jlprénom;
	 JTextField  jtnom,jtprénom;
	 JButton ok,annuler;
  public save()
  {
   connectToDB();
		setTitle("save");
   setSize(300, 400);
   setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setLocationRelativeTo ( null );
		setResizable(true);
		pannoRech = new JPanel(new FlowLayout());
		boutons = new JPanel(new FlowLayout());
		jlnom = new JLabel("nom  ");
		pannoRech.add(jlnom);
		jtnom = new JTextField(20);
		pannoRech.add(jtnom);
		//jtf.addActionListener ( this );

	  jlprénom = new JLabel("prénom");
		pannoRech.add(jlprénom);
		jtprénom = new JTextField(20);
	  pannoRech.add(jtprénom);
	  ok = new JButton("Ok");
		//ok.addActionListener ( this );
		annuler = new JButton("Annuler");
		//annuler.addActionListener ( this );
	  boutons.add(ok);
	  boutons.add(annuler);
	  getContentPane().add(boutons, BorderLayout.SOUTH);
		getContentPane().add(pannoRech, BorderLayout.CENTER);




  }
   public static void connectToDB()
	{

	  try
	 {
		String userName = "root";
 String password = "root"";
			   String url = ("jdbc:mysql://localhost/");
			   Class.forName ("com.mysql.jdbc.Driver").newInstance ();
			   conn = DriverManager.getConnection (url, userName, password); 
	  try
  {  st = conn.createStatement();
	 String sql = "CREATE TABLE fekair("+"bdnom	   VARCHAR(254)," 

			+ "bdprénom		 VARCHAR(254) )";		  
	st.executeUpdate(sql);
	System.out.println(sql);
	conn.close();				  
 }
 catch (SQLException s){
	System.out.println("Table is all ready exists!");
   }		  System.out.println ("Database connection established");

	}
	catch (Exception e)
	{
	  System.err.println ("Cannot connect to database server");
	}

  }


 }

تم تعديل هذه المشاركة بواسطة mohammeding في 24 سبتمبر 2008 في 15:20

#2

هل البرنامج بتصل بالقاعده بشكل صحيح ؟

ما هي رساله الخطأ الناتجه ؟

على العموم ، يبدوا أنك لم تحدد أسم قاعده البيانات حتى تتصل معها فأضف أسم القاعده لـ :

String url = ("jdbc:mysql://localhost/YourDataBaseName");

جرب وان لم يصلح أرفق رساله الخطأ ...

بالتوفيق ،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#3

شكرا على الرد أخي و لكن هاهو مساج لي يطلع

Table is all ready exists!
Database connection established

المشكل لا يبدو في عملية إتصال بقاعدة البيانات و لكن مشكل في إ نشاء الجدول

لم أعرف الحل

أرجو مساعدة

#4

حسنا ،

داخل الـ Exception أستدعي الداله printStackTrace حتى نعرف مصدر الخطأ ...

catch (SQLException s){

s.printStackTrace();

}

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

(المعذره لا تتوفر لدى جافا ولا MySql الأن لكي اجرب ) ..

بالتوفيق

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#5

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

بارك الله فيك أخي على المساعدة

عملت لي قتلي عليه و طلعلي مساج التالي

Table is all ready exists!
java.sql.SQLException: No database selected
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1997)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278)
	at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1224)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:2244)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:2192)
	at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1259)
	at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1205)
	at save.connectToDB(save.java:70)
	at save.<init>(save.java:24)
	at acc.actionPerformed(bibe.java:65)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
	at java.awt.Component.processMouseEvent(Component.java:5488)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1774)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Database connection established

Process completed.
#6

لاحظ السطر الأول من الـ SQLException الناتج :

java.sql.SQLException: No database selected

أي لا توجد DataBase أصلا تم الأتصال بها ،حتى تقوم بعمل جدول ...

يجب أن تتصل بالقاعده بشكل صحيح ..

أضف أسم القاعده كما ذكرت لك في أول رد :

String url = ("jdbc:mysql://localhost/YourDataBaseName");

غير YourDataBaseName باسم القاعده لديك ...

جرب ، وان لم تصلح أرفق لنا رساله الخطا الناتجه ..

معليش حنتعبك شوي :blush:

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#7

جرب هذا المثال :

 

[color= #000000; font-weight: bold;]import [color= #006699;]java.sql.*[color= #339933;];

 

[color= #000000; font-weight: bold;]public [color= #000000; font-weight: bold;]class CreateTable[color= #009900;]{

  [color= #000000; font-weight: bold;]public [color= #000000; font-weight: bold;]static [color= #000066; font-weight: bold;]void main[color= #009900;]([color= #003399;]String[color= #009900;][[color= #009900;]] args[color= #009900;]) [color= #009900;]{

    [color= #003399;]System.[color= #006633;]out.[color= #006633;]println[color= #009900;]([color= #0000ff;]"Table Creation Example!"[color= #009900;])[color= #339933;];

    [color= #003399;]Connection con [color= #339933;]= [color= #000066; font-weight: bold;]null[color= #339933;];

    [color= #003399;]String url [color= #339933;]= [color= #0000ff;]"jdbc:mysql://localhost:3306/"[color= #339933;];

    [color= #003399;]String dbName [color= #339933;]= [color= #0000ff;]"jdbctutorial"[color= #339933;];

    [color= #003399;]String driverName [color= #339933;]= [color= #0000ff;]"com.mysql.jdbc.Driver"[color= #339933;];

    [color= #003399;]String userName [color= #339933;]= [color= #0000ff;]"root"[color= #339933;];

    [color= #003399;]String password [color= #339933;]= [color= #0000ff;]"root"[color= #339933;];

    [color= #000000; font-weight: bold;]try[color= #009900;]{

      [color= #000000; font-weight: bold;]Class.[color= #006633;]forName[color= #009900;](driverName[color= #009900;]).[color= #006633;]newInstance[color= #009900;]([color= #009900;])[color= #339933;];

      con [color= #339933;]= [color= #003399;]DriverManager.[color= #006633;]getConnection[color= #009900;](url[color= #339933;]+dbName, userName, password[color= #009900;])[color= #339933;];

      [color= #000000; font-weight: bold;]try[color= #009900;]{

        [color= #003399;]Statement st [color= #339933;]= con.[color= #006633;]createStatement[color= #009900;]([color= #009900;])[color= #339933;];

        [color= #003399;]String table [color= #339933;]= [color= #0000ff;]"CREATE TABLE Employee11(Emp_code integer, Emp_name varchar(10))"[color= #339933;];

        st.[color= #006633;]executeUpdate[color= #009900;](table[color= #009900;])[color= #339933;];

        [color= #003399;]System.[color= #006633;]out.[color= #006633;]println[color= #009900;]([color= #0000ff;]"Table creation process successfully!"[color= #009900;])[color= #339933;];

      [color= #009900;]}

      [color= #000000; font-weight: bold;]catch[color= #009900;]([color= #003399;]SQLException s[color= #009900;])[color= #009900;]{

        [color= #003399;]System.[color= #006633;]out.[color= #006633;]println[color= #009900;]([color= #0000ff;]"Table all ready exists!"[color= #009900;])[color= #339933;];

      [color= #009900;]}

      con.[color= #006633;]close[color= #009900;]([color= #009900;])[color= #339933;];

    [color= #009900;]}

    [color= #000000; font-weight: bold;]catch [color= #009900;]([color= #003399;]Exception e[color= #009900;])[color= #009900;]{

      e.[color= #006633;]printStackTrace[color= #009900;]([color= #009900;])[color= #339933;];

    [color= #009900;]}

  [color= #009900;]}

[color= #009900;]}

فقط غير dbName باسم القاعده لديك ...

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#8

السلام عليكم

بارك الله فيك أخي ربي يجعلها في ميزان حسناتك

لقد حل المشكل كان المشكل في أنني لم أسمي للكلاس قاعدة بيانات بتاعي

بارك الله فيك

بارك الله فيك

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