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

برنامج الصراف الالي

بدأه Tigger_it في 31 أكتوبر 2008 · 14 رد · 2,714 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

حاليا اقوم بعمل برنامج الصراف الالي بسيط واجهتنى مشكله اثنا ء القيام بانشاء الداله او الاكشن الخاص بعمليه السحب والاضافه Withdraw and deposit هي كود السحب ما بعرف شو الغلط في الداله مع انو في Complie ما بيعطي مشاكل بس لما اجي اعمل عمليه السحب ما بيرضي :

private void WithdrawButtonActionPerformed(java.awt.event.ActionEvent evt) {

	  try{
		  String value = JOptionPane.showInputDialog("Enter Amount:");
		int newValue = Integer.parseInt(value);

	  Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
	 Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/bank");
	  Statement stmt = connection.createStatement();
	   ResultSet resultSet = stmt.executeQuery(
	  "SELECT balance FROM banktest WHERE id  = '" + AccountNumber.getText() + "'");
	  StringBuffer results = new StringBuffer();
	  ResultSetMetaData metaData = resultSet.getMetaData();
	  int numberOfColumns = metaData.getColumnCount();


	  while ( resultSet.next() ) {

	  for ( int i = 1; i <= numberOfColumns; i++ ) {
		   results.append( resultSet.getObject( i ));

	  }
	  }


	  String current_balance1 = results.toString();

	  int balance = Integer.parseInt(current_balance1);

	  if(balance > newValue){
	  int answer = balance - newValue;
	  String updateString = "UPDATE banktest " +
	  "SET Balance = "+  answer + " " +
	  "WHERE id LIKE '" + AccountNumber.getText() + "'";
	   JOptionPane.showMessageDialog(null,"Data Entered into Database Successfully");
	  stmt.executeUpdate(updateString);

	  stmt.close();
	  connection.close();


	  }
	  else{
	  JOptionPane.showMessageDialog(null,"Error in Amount Entering");
	  }	


	  }
		  catch ( SQLException sqlException ) {
			JOptionPane.showMessageDialog( null,
			sqlException.getMessage(), "Database Error",
			JOptionPane.ERROR_MESSAGE );

		 System.exit( 1 );
	  }


		 catch ( ClassNotFoundException classNotFound ) {
		 JOptionPane.showMessageDialog( null,
			classNotFound.getMessage(), "Driver Not Found",
			JOptionPane.ERROR_MESSAGE );

		 System.exit( 1 );
	  }

	}
ab66i830gh93.gif

i25sctz8qnls.jpg

#2

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

صراحة لم اطلع على الكود و لكن قد تكون المشكلة في الاعدادات جرب الخطوات التي في الرابط

لعلها تفيدك

/index.ph...713&hl=sql*

#3

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

الظاهر المشكله من أنك مستخدم Driver لODBC (قاعده بيانات أكسس) ، والأتصال عن طريق قاعده MySQL ..

Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
	 Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/bank");

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

اذا كانت MS-Access فالDriver هو :sun.jdbc.odbc.JdbcOdbcDriver

أما اذا كانت القاعده هي MySql فالDriver هو : com.mysql.jdbc.Driver

وعليك أن تتأكد من وجود JDBC-Connector في حال كانت قاعده البيانات هي MySql ..

واذا كانت Access فيجب أن تقوم بتسجيلها في ODBC Manager في لوحه التحكم ..

بالنسبه للمسار الخاص بالقاعده :

jdbc:mysql://localhost:3306/bank فهذا للأتصال بقاعده بيانات MySql .

jdbc:odbc:back أما هذا للإتصال بقاعده بيانات Access .

أما اذا كانت القاعده MS-SQL Server فالرابط أعلاه في المشاركه السابقه به كل شيء ...

باختصار استخدم الـDriver الصحيح للقاعده والمسار Path الصحيح للقاعده ..

بالتوفيق ،

تم تعديل هذه المشاركة بواسطة Wajdy Essam في 31 أكتوبر 2008 في 23:57

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

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

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

#4

شكرا الك اخ Wajdy Essam بس كمان نفس المشكله غيرت في الدرايف وتاكد منو كلو صحيح نفس المشكله ..مع العلم قاعده البيانات mysql

تم تعديل هذه المشاركة بواسطة Tigger_it في 1 نوفمبر 2008 في 00:06

ab66i830gh93.gif

i25sctz8qnls.jpg

#5

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

connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/bank","root","");

والخانه الأخيره "" أكتب فيها الباسورد اذا كنت واضع ، والأعداد الأفتراضي في mysql هو "" .

في حال استمرت المشكله ، ضع رساله الخطأ الناتجه من الException ، ولو كتبت الداله printStackTrace داخل كل catch عشان نعرف موقع الخلل بالضبط يكون أفضل ،،

بالتوفيق ،

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

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

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

#6

بالمناسبة هل لديك الـJDBC الخاص بـ MYSQL

تحياتي

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

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

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

728x90.png

#7

نعم اليس هاد هو mysql-connector-java-5.0.7-bin هاد الي انا بستخدمو

ab66i830gh93.gif

i25sctz8qnls.jpg

#8

ممممممممممممم

ماذا عن الأخطاء

هل هناك أي أخطاء

طيب إذا لم يكن هناك أي أخطاء

هل يتم تحديث أي سجل في قاعدة البيانات؟

حاول التأكد من خلال طباعة الرقم الراجع من الدالة executeUpdate

غير هذا حاول عمل debugging للشيفرة

الطريقة سهلة

قم بوضع جملة طباعة بعد كل جملة في شيفرتك

وانظر أين تتوقف الشيفرة بالضبط

تحياتي

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

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

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

728x90.png

#9

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

atm.rar

ab66i830gh93.gif

i25sctz8qnls.jpg

#10

ليس لدي MYSQL وليس لدي النية لتنزيله عندي

حاول أن تقوم بما تكلمت عنه مسبقاً

وأخبرني بالنتائج

تحياتي

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

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

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

728x90.png

#11

كما قال علاء ضع رساله الخطأ حتى نعرف موقع الخطأ ..

أيضا هل الداله LoginButtonActionPerformed تعمل أم لأ،، (لم أجرب البرنامج لأن MySql لا تتوفر لدى حاليا) ..

في حال لم تعمل ولم يكن أي اتصال بالقاعده ، فيحتمل أن الConnector غير موضوع بالمكان الصحيح ، لديك طريقتين أما أن تضيف ملف mysql-connector-java-5.0.7-bin مباشره من النت بينيز (عن طريق أحد الأعدادت في خصائص المشروع وتقوم باضافه ملف jar ) أو الحل الأسهل تقوم بنسخ الملف للمسار :

F:\Program Files\Java\jdk1.5.0\jre\lib\ext

وجرب وشوف ، وان لم تعمل ضع رسائل الخطأ..

بالتوفيق ،

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

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

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

#12

بالمناسبة لماذا تستخدم Like هنا

 "WHERE id LIKE '" + AccountNumber.getText() + "'";

استخدم علامة = مباشرة

تحياتي

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

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

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

728x90.png

#13

داله LoginButtonActionPerformed شغاله وايضا داله Insert بعمل ادخال للموظف بيقبل المشكله في داله السحب

ab66i830gh93.gif

i25sctz8qnls.jpg

#14

هل جربت موضوع استبدال like بـ =

تحياتي

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

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

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

728x90.png

#15

لا ادري اين الخطأ

البرنامج يعمل ..

get-10-2008-aifi0ota2th.JPG

قمت بالتعديل ايضا على قاعدة البيانات ولم يحدث اي اخطاء ..لم اقم بتجريبه كاملا لاني لا اعلرف ما هدفه بالضبط

كل ما قمت به وضع password للكود لان خانة URL الخاصة بالاتصال بقاعدة البيانات كانت خالية ولم اشعر باي اخطاء تذكر

هل لو وضحت الامر اكثر وما هوا الخطأ ...

على فكرا لما تستخدم Like انتا لا تبحث عن سلسلة محرفية ..لكن لا ضرر من ذلك

هل ما توصلت اليه صحيح ..ام اني لم انتبه للخطأ

تحياتي

الله معك..

تم تعديل هذه المشاركة بواسطة shado في 1 نوفمبر 2008 في 03:12

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