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

مشكله فى بيانات الفورم

بدأه creative mind في 28 أبريل 2010 · 15 رد · 1,146 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

v97.gif

عملت form كالتالى:

<%@ page language ="java" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>

<%--
	Document : purchase
	Created on : 27/04/2010, 07:18:29 م
	Author 	: Administrator
--%>
<%
 	Class.forName("com.mysql.jdbc.Driver");
 	Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hardware", "root", "");

 	Statement st = con.createStatement();
 	Statement st2 = con.createStatement();
 	Statement st3 = con.createStatement();

 	ResultSet clients = st.executeQuery("SELECT client_id,client_name FROM client");
 	ResultSet staffm = st2.executeQuery("SELECT mem_id,mem_name FROM staff");
 	ResultSet items = st3.executeQuery("SELECT item_id,item_name FROM item_status");
%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
	"http://www.w3.org/TR/html4/loose.dtd">

<html>
	<head>
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 	<title>JSP Page</title>
	</head>
	<body>

 	<h1>المبيعات</h1>
 	<form name="purchase" action="p_response.jsp" method="POST">
 	<label>العميل</label>
 	<select name="client">
 	<% while (clients.next()) {%>
 	<option value="<%= clients.getInt(1)%>"><%= clients.getString(2)%></option>
 	<% }%>
 	</select>

 	<label>البائع</label>
 	<select name="member">
 	<% while (staffm.next()) {%>
 	<option value="<%= staffm.getInt(1)%>"><%= staffm.getString(2)%></option>
 	<% }%>
 	</select>

 	<label>الصنف</label>
 	<select name="item">
 	<% while (items.next()) {%>
 	<option value="<%= items.getInt(1)%>"><%= items.getString(2)%></option>
 	<% }%> 	
 	</select>

 	<label>الكمية</label>
 	<input type="text" name="quantity"/>

 	<label>التاريخ</label>
 	<input type="text" name="pdate" readonly="readonly" disabled="disabled" value="<%= new java.util.Date()%>"/>

 	<input type="submit" value="موافق" name="submit" />
 	</form>
	</body>
</html>

ال Code لمعالجة بيانات ال form وادخالها فى قاعدة البيانات كالتالى

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page language ="java" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import = "java.text.SimpleDateFormat,java.text.ParseException"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">

<html>
	<head>
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 	<title>JSP Page</title>
	</head>
	<body>
 <%

 	String dateStr = request.getParameter("pdate");
 	SimpleDateFormat formater = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
 	java.util.Date pdate = formater.parse(dateStr);

 	int client = Integer.parseInt(request.getParameter( "client"));
 	int member = Integer.parseInt(request.getParameter( "member"));
 	int item = Integer.parseInt(request.getParameter( "item"));
 	int quantity = Integer.parseInt(request.getParameter( "quantity"));

			Class.forName("com.mysql.jdbc.Driver");
 	Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hardware", "root", "");

 	PreparedStatement st;
 	st = con.prepareStatement("insert into `hardware`.`purchase`('p_date','p_quantity','client','member','item') values (?,?,?,?,?)");
 	st.setDate(1,pdate);
 	st.setInt(2,quantity);
 	st.setInt(3,client);
 	st.setInt(4,member);
 	st.setInt(5,item);
 	st.executeUpdate();

 	%>
	</body>
</html>

لكن بيعطيني رسالة خطأ التاليه

org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP

PWC6197: An error occurred at line: 17 in the jsp file: /p_response.jsp

PWC6199: Generated servlet error:

string:///p_005fresponse_jsp.java:83: cannot find symbol

symbol : method setDate(int,java.util.Date)

location: interface java.sql.PreparedStatement

ارجو المساعده :)

تم تعديل هذه المشاركة بواسطة creative mind في 29 أبريل 2010 في 00:35

#2
اقتباس
string:///p_005fresponse_jsp.java:83: cannot find symbol

symbol : method setDate(int,java.util.Date)

location: interface java.sql.PreparedStatement

المشكله, لأن setDate بتاخد java.sql.Date

http://java.sun.com/javase/6/docs/api/java/sql/PreparedStatement.html#setDate(int, java.sql.Date)

ممكن تشوفي الحل ده مثلا:

http://objectmix.com/jdbc-java/41254-cast-java-util-date-java-sql-date.html

بالنسبه لطريقة كتابتك للكود, تحتاج شوية تعديل, إقرأي هذا الموضوع /index.php?showtopic=216770&st=0&p=1073656&hl=model-view-controller&fromsearch=1entry1073656

تم تعديل هذه المشاركة بواسطة {هويدي} في 28 أبريل 2010 في 16:42

#3

برجاء عدم كتابة الكلمات الإنجليزية بحروف عربية

تحياتي

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

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

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

728x90.png

#4
{هويدي} كتب:

المشكله, لأن setDate بتاخد java.sql.Date

http://java.sun.com/...tml#setDate(int, java.sql.Date)

ممكن تشوفي الحل ده مثلا:

http://objectmix.com...a-sql-date.html

بالنسبه لطريقة كتابتك للكود, تحتاج شوية تعديل, إقرأي هذا الموضوع http://www.arabteam2...1entry1073656

جزاك الله خيرا المشكله السابقه تم حلها

لكن ظهرت مشكله جديده

java.text.ParseException: Unparseable date: "Wed Apr 28 22:03:24 EET 2010"

والى اكتشفته انها بسبب اختلاف ال formate لأن

java.util.Date() تقوم بأرجاع قيمه لها formate مختلف عن الذي تم تحديده فى السطر التالى

 SimpleDateFormat formater = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");

احل المشكله دي ازاى؟

كمان النسبه لطريقة كتابتي للكود انا قرأت الموضوع الى حضرتك قلت عليه بس انا للأسف مش قدامى غير يومين لإنهاء البرنامج الى ببرمجه دلوقت وانا مبتدئة والموضوع ده محتاج وقت

فهل لو كملت بنفس الطريقه الى ببرمج بيها باقى البرنامج هيكون فى مشاكل؟

علاء الصالحي كتب:

برجاء عدم كتابة الكلمات الإنجليزية بحروف عربية

تحياتي

بعتذر جدا , انا رجعت الكلمات الانجليزيه لأصلها :)

#5
اقتباس
فهل لو كملت بنفس الطريقه الى ببرمج بيها باقى البرنامج هيكون فى مشاكل؟

لو البرنامج صغير لأ, لو البرنامج كبير, ممكن يكون unmanageable بعد كده,,,

اقتباس

كن ظهرت مشكله جديده

java.text.ParseException: Unparseable date: "Wed Apr 28 22:03:24 EET 2010"

والى اكتشفته انها بسبب اختلاف ال formate

إذن, غيري ال format على حسب ما بيرجع من قاعدة البيانات,, إنظري هنا ISO 8601

#6
{هويدي} كتب:

لو البرنامج صغير لأ, لو البرنامج كبير, ممكن يكون unmanageable بعد كده,,,

إذن, غيري ال format على حسب ما بيرجع من قاعدة البيانات,, إنظري هنا ISO 8601

حضرتك انا غيرت ال formate خليتها:

SimpleDateFormat formater = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy");

وبرضو بيديني نفس الخطأ

ممكن لو سمحت تقولى ال format الصحيحه ايه؟

#7

السلام عليكم

الاخت العزيزة هذا كود المشروع بعد تعديله

وهو الان يعمل بشكل صحيح تماما

كود الفهرس

<%-- 
	Document : index
	Created on : 29/04/2010, 01:44:39 م
	Author 	: moza
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">

<html>
	<head>
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 	<title>JSP Page</title>
	</head>
	<body>
 	<h1>Hello World!</h1>
 	<br/><br/>
 	<a href="formpg">registeration form</a>
	</body>
</html>

كود الصفحة الاولى

<%@ page language ="java" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>

<%--
 	Document : purchase
 	Created on : 27/04/2010, 07:18:29 م
 	Author : Administrator
--%>
<%
 	Class.forName("com.mysql.jdbc.Driver");
 	Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hardware", "root", "");

 	Statement st = con.createStatement();
 	Statement st2 = con.createStatement();
 	Statement st3 = con.createStatement();

 	ResultSet clients = st.executeQuery("SELECT client_id,client_name FROM client");
 	ResultSet staffm = st2.executeQuery("SELECT mem_id,mem_name FROM staff");
 	ResultSet items = st3.executeQuery("SELECT item_id,item_name FROM item_status");
%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import = "java.text.SimpleDateFormat"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
	"http://www.w3.org/TR/html4/loose.dtd">

<html dir="rtl">
	<head>
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 	<title>JSP Page</title>
	</head>
	<body>

 	<h1>المبيعات</h1>
 	<form name="purchase" action="responsepg" method="POST">
 	<label>العميل</label>
 	<select name="client">
 	<% while (clients.next()) {%>
 	<option value="<%= clients.getInt(1)%>"><%= clients.getString(2)%></option>
 	<% }%>
 	</select>

 	<label>البائع</label>
 	<select name="member">
 	<% while (staffm.next()) {%>
 	<option value="<%= staffm.getInt(1)%>"><%= staffm.getString(2)%></option>
 	<% }%>
 	</select>

 	<label>الصنف</label>
 	<select name="item">
 	<% while (items.next()) {%>
 	<option value="<%= items.getInt(1)%>"><%= items.getString(2)%></option>
 	<% }%>
 	</select>

 	<label>الكمية</label>
 	<input type="text" name="quantity"/>

 	<label>التاريخ</label>
 	<input type="text" name="pdate" readonly="readonly" value="<%= new SimpleDateFormat("yyyy/MM/dd").format(new java.util.Date())%>"/>

 	<input type="submit" value="موافق" name="submit" />
 	</form>
	</body>
</html>

كود الصفحة الثانية

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page language ="java" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import = "java.text.SimpleDateFormat,java.text.ParseException"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
	"http://www.w3.org/TR/html4/loose.dtd">

<html>
	<head>
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 	<title>JSP Page</title>
	</head>
	<body>
 	<%

 	String dateStr = request.getParameter("pdate");

 	String client = request.getParameter("client");
 	String member = request.getParameter("member");
 	String item = request.getParameter("item");
 	double quantity = Double.parseDouble(request.getParameter("quantity"));

 	Class.forName("com.mysql.jdbc.Driver");
 	Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hardware", "root", "");
 	int i = 25;
 	PreparedStatement st;
 	st = con.prepareStatement("insert into hardware.purchase(oid,p_date,p_quantity,client,member,item) values (?,?,?,?,?,?)");
 	st.setInt(1, i);
 	st.setString(2, dateStr);
 	st.setDouble(3, quantity);
 	st.setString(4, client);
 	st.setString(5, member);
 	st.setString(6, item);

 	if (st.executeUpdate() > 0) {
 	response.getWriter().println("Congratulation! record inserted successfully. ");
 	}


 	%>
	</body>
</html>

كود ملف النشر web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<servlet>
 	<servlet-name>responsepg</servlet-name>
 	<jsp-file>/WEB-INF/p_response.jsp</jsp-file>
	</servlet>
	<servlet>
 	<servlet-name>formpg</servlet-name>
 	<jsp-file>/WEB-INF/purchase.jsp</jsp-file>
	</servlet>
	<servlet-mapping>
 	<servlet-name>responsepg</servlet-name>
 	<url-pattern>/responsepg</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
 	<servlet-name>formpg</servlet-name>
 	<url-pattern>/formpg</url-pattern>
	</servlet-mapping>
	<session-config>
 	<session-timeout>
 	30
 	</session-timeout>
	</session-config>
	<welcome-file-list>
 	<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

راجعى البرنامج ولاحظى التعديلات جيدا واى استفسار اكتبيه وستجدين من يساعدك ان شاء الله

ملحوظة

قمت باضافة عمود الى الجدول purchase من نوع رقم ليمثل المفتاح الاساسى (primary key)

المشروع كاملا فى الرفقات على هيئة تطبيق Netbeans Application

WebApplication1.rar

تحياتى

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 29 أبريل 2010 في 17:21

1


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#8

جزاك الله خيرا يا بشمهندس

ربنا يكرمك ويجازيك كل خير

الحمدلله المشاكل اتحلت :)

بس فاضل مشكله صغيره

انا حاولت اعمل ال war file

java jar cvf HardwareSales.war

بعدها طلعلى الرساله دي

Exception in thread "main" java.lang.NoClassDefFoundError: jar

Caused by: java.lang.ClassNotFoundException: jar

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

Could not find the main class: jar. Program will exit.

دي ايه سببها؟

وايه هي الطريق الصحيحه لعمل ال war file؟

تم تعديل هذه المشاركة بواسطة creative mind في 30 أبريل 2010 في 03:17

#9

java -jar

تحياتي

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

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

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

728x90.png

#10
jar cf myWarFile.war index.jsp home.jsp *.png WEB-INF/

أو :

jar cf myWarFile.war *

للتأكد:

jar tf myWarFile.war
#11

جزاكم الله كل خير

بس الاوامر منفعتش معايا

دورت ولاقيت طريقه كالتالى

1- عملت مجلد اسمه dist

2- من خلال ال netbeans IDE اخترت Clean and build.

والحمدلله اتعمل الملف

دلوقتى بقا عندي سؤال

انا عارفه ان أسألتى كترت اعذرونى بس انا دورت ع اجابة للسؤال ده ومش لاقيت

انا اشغل ملف ال war ده ازاى؟

#12

ملف war يوضع في مجلد خاص في الخادم server

(كل خادم له طريقته الخاصة به لك على الأغلب موضوع المجلد هذا موجود لدى الجميع بطريقة أو بأخرى)

ويتم تشغيل الخادم بعدها

بعدها نقوم بكتابة اسم الخادم:رقم المنفذ ثم اسم الملف بدون اللاحقة extension

http:\\serverIP:portNumber\fileName

تحياتي

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

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

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

728x90.png

#13

الحمدلله عرفت اشغل ملف ال war

جزاكم الله كل خير على مساعدتكم لي من بدايه المشروع :)

فى المرفقات نسخه من اول مشروع لي

Hardware_Sales2.rar

#14

ألف مبروك أختي :blush:

تحياتي

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

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

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

728x90.png

#15

الف الف مبروك اختاه :thumb_up: وننتظر ابداعاتك ومزيد من المشاركات

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#16

الله يبارك فيكم جميعا :)

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وزدنا علما يا رب العالمين

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