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

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

مغلق
بدأه ra7l في 18 يناير 2007 · 4 رد · 853 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اعضاء منتدى الفريق العربي للبرمجه .. كيف حالكم .. إن شاء الله بخير ..

شباب انا عندي برنامج .. فيه واجهه تحتوي على ثلاث بوتون ( botton ) ..البونون الاول ..هوحذف سجل من قاعده بيانات

البوتوون الثاني ... اضافه سجل لقاعده البيانات ..

البوتون الثالث .. هو للتعديل على قاعده اليانات ..

نجي للزببده ... : :D الزبده وهي ... ان كود الحذف والاضافه والنعديل على قاعده البيانات . من غير واجهه يظبط 100 %

لكن مع الواجهه اللي انا صممتهاا .... مايضبط .. والمشكله انه مايعدل على قاعده البيانات ..

وهذا هو الكود ..

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




public class DS2Java3T1_0607V2 extends JFrame {

 private JButton copyFile1, copyFile2, copyFile3;

 public DS2Java3T1_0607V2()
 {
  super( "DS2 Java3 Term1 2006 2007" );
  Container container = getContentPane();
  container.setLayout( new FlowLayout() );



  copyFile1 = new JButton( "delete records" );
  container.add( copyFile1 );
  copyFile2 = new JButton( "insert records" );
  container.add( copyFile2 );

  copyFile3 = new JButton( "update" );
  container.add( copyFile3 );

  ButtonHandler2 handler = new ButtonHandler2();
  copyFile1.addActionListener( handler );
  copyFile2.addActionListener( handler );
  copyFile3.addActionListener( handler );
  setSize( 500, 500 );
  setVisible( true );
 }
 public static void main( String args[] )
 {
  DS2Java3T1_0607V2 application = new DS2Java3T1_0607V2();
  application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
 }


 private class ButtonHandler2 implements ActionListener {
  public void actionPerformed( ActionEvent event ) 
  {

  String n_d;

   if ( event.getSource() == copyFile1 )
   {
	n_d = JOptionPane.showInputDialog("inter the number price to delete");
   }
   else if ( event.getSource() == copyFile2 )
   {
	   String n = JOptionPane.showInputDialog("Enter the product number");
  String l = JOptionPane.showInputDialog("Enter the product label");
  String aa = JOptionPane.showInputDialog("Enter the product label2");
  String p = JOptionPane.showInputDialog("Enter the product price");


   }

  else if ( event.getSource() == copyFile3 )
   {
	String n_u = JOptionPane.showInputDialog("enter the price to update");
   }
//  
//   try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//	   }							
//   	
//		catch (IOException ioe)				
//   {
//   	System.out.println("The error is : " +  ioe.getMessage());
//   }
//	

  String  url = "jdbc:odbc:MyDSNDataBese";



   try { 
	Connection conn = DriverManager.getConnection(url);
	Statement stmt = conn.createStatement();



	String Query_d = "delete From MyTable";
	System.out.println(Query_d);



  String Query = "Insert into MyTable(a , b , c ,Price) select ";
  System.out.println(Query);


  String Query_u = "Update MyTable set price = price * 1.5";
  System.out.println(Query_u);


  int i_d = stmt.executeUpdate(Query_d);
  if (i_d == 1)
	  System.out.println("The insertion has been succsesefully completed   " + i_d);
  else
	System.out.println("The insertion has not been succsesefully completed  " + i_d);

  int i = stmt.executeUpdate(Query);
  if (i == 1)
	  System.out.println("The insertion has been succsesefully completed   " + i);
  else
	System.out.println("The insertion has not been succsesefully completed  " + i);


  int i_u = stmt.executeUpdate(Query_u);
  if (i_u == 1)
	  System.out.println("The insertion has been succsesefully completed   " + i_u);
  else
	System.out.println("The insertion has not been succsesefully completed  " + i_u);


  stmt.close();
  stmt=null;
  conn.close();
  conn=null;
  System.exit(0);
}

catch (SQLException a)
	{System.out.println("My Message : Exception not handled " + a.getMessage() + "\n\r" + a.getSQLState());}  





   }
  }
 }

ملاحضه .. قاعده الييانات .. على الاكسس ..واسمها MyDSNDataBese

الحفول في الداتابيس ..هي (a , b , c , price)

ارجو المساعده .. واشاكر لكم مقدماا ..

:D

#2

انا الصراحة بحاول افهم انت عامل ايه فى الكود لكنى مش قادر، االلى فهمته ان انت عامل فريمه فى 3 ازار وكل زر فيهم بيعمل عملية معينة اضافة,حذف,تعديل ،لقيتك مش عامل كده فى كلاس Button Handler المفروض تيجى لما يضغط على زر الاضافة تجعل المستخدم يدخل البيانات اللى انت عاوز تضيفها وبعدين تفتح الكونكشن عندك وبعدين تكتب query وفى الحالة دى هيبقى INSERT ، انما انا شايف ان انت مش عامل كده وفعلا مش قادر افهم انت عامل ايه فى الكلاس بتاعك ياريت تقول الاكسبشن اللى بيطلعلك ولا مافيش اكسبشن ولابالظبط الموضوع :s

#3

السلام عليكم

اولا انت واضع الثلاث عمليات بتنفذن عند الضغط على اية زر والأصل ان كل زر ينفذ عملية واحدة من الثلاث

ثانيا عملية ال insert into انت لم تضع قيم للحقول المراد ادخالها

 String Query = "Insert into MyTable(a , b , c ,Price) select ";

لم تضف القيم التي ادخلها المستخدم وهي n , l , aa , p

بشوف تذكرت تحط فراغ بعد ال select وانسيت الحقول :D

delete From MyTable

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

	n_d = JOptionPane.showInputDialog("inter the number price to delete");

فيلزم اضافة شرط ليتم الحذف على حسب القيمة المدخلة مثل

where a=n_d

ونفس الشيئ مع عملية التحديث update

والله أعلم

سبحانك اللهم وبحمدك أشهد ان لا اله الا أنت

أستغفرك وأتوب اليك

الهم صلي وسلم وبارك على سيدنا وحبيبنا محمد

#4
Mo7eb_Alrasool كتب:
السلام عليكم

اولا انت واضع الثلاث عمليات بتنفذن عند الضغط على اية زر والأصل ان كل زر ينفذ عملية واحدة من الثلاث

فعلا اخوي .. هذا لاحضته .. وهو لما اضغط على زر واحد سواء اضافه او حذف .. اللي بيصير انه يحذف السجلات ... فقط ...

فكيف اخوي ... اني اعمل .. كل زر لحااال .. اتمنى التوضيح اكثر ... :D

اقتباس
ثانيا عملية ال insert into انت لم تضع قيم للحقول المراد ادخالها
 String Query = "Insert into MyTable(a , b , c ,Price) select ";

لم تضف القيم التي ادخلها المستخدم وهي n , l , aa , p

بشوف تذكرت تحط فراغ بعد ال select وانسيت الحقول :D

ههههههههههههههههههه خلاص الحين كل دقه في تعليمه .. ومنكم نستفيد طال عمرك

جميل جداا . اخوي .. انا عملت الكود هذا .. واضفت الحقول المراد ادخالها ... لكن بيعطيني خطأ ... ؟

  String Query = "Insert into MyTable(a , b , c ,Price) select "  + n +",'"+  l + "',"+"'"+  aa +"',"+  p;

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

اتمنى انكم تتحملوني شوي ...

:D

#5

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

ثانيا:دعنى واضح لك الامور اكثر فى موضوع الاكشن ده

اقتباس
if ( event.getSource() == copyFile1 )

{

n_d = JOptionPane.showInputDialog("inter the number price to delete");

}

وهذا الكود معناه انه عند ضغطك على زر من الازرار سوف يقوم بدخول كلاس ButtonHandler2 وعندها سوف يقوم بدخول اول حالة if انت كاتبها واذا كانت حالة if صحيحة وفسوف ينفذ الكود الموجود بداخلها،وهنا مثلا انت منشئ اوبجكت من نوع ActionEvent واسمه event بداخل كلاسِِActionEvent يوجد ميثود اسمها getSource() وهذه الميثود تحدد اى زر قمت انت بالضغط عليه فعندما يدخل اول حالة اللى انت كتبتها فسوف يقوم يعمل test وهو

هل الزر الذى قمت بالضغط عليه هو زر copyFile1 اذا كانت الاجابه بنعم سوف يقوم بتنفيذ الاوامر المتواجدة بدخل if وهنا لو فرضا ان زر copyFile1 لاضافة سجل، سوف تضع كود الاضافة للsql بداخل حالة if هذه، وانصحك بقراءة اكثر فى موضوع الاكشن

اما بخصوص مشكلة الINSERT انت كاتب فى اخر الجملة select وهذه الكلمة ليس لها فائدة هنا حيث انها تستخدم عندما تريد عرض بيانات من قاعدة البيانات

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…