-KINGMAN- 07.02.1203:16

אשמח לעזרה בשאילתה בטופס משהו שאני מנסה לעשות

אז ככה כתבתי את הדף הזה ב-JSP עכשיו יצרתי חיבור עם ה- HSQL וזה מכניס לי תנתונים והכל טוב ויפה אבל אבל אני רוצה ליצור מצב שהנתונים יכנסו על ידי מה שהמשתמש יזין ולא מה שאני הצבתי אשמח לדעת מה אני צריך לעשות בטופס כדי שזה יתבצע תודה לעוזרים זה הטופס
[code]
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.InitialContext"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
http://www.w3.org/TR/html4/loose.dt?...>


Students marks




Students Marks




Please enter a new record:


















Name:
Course:
Mark:








<%
Connection con = null;

//connect the jboss services
InitialContext ic = new InitialContext();
//get the reference to the datasource
DataSource ds = (DataSource) ic.lookup("java:/DefaultDS");
//create a connection to the database in the ds
con = ds.getConnection();
//execute a statement
PreparedStatement pr = con
.prepareStatement("INSERT INTO PUBLIC.STUDENTS VALUES(?,?,?)");
pr.setString(1, "AVI");
pr.setString(2, "ENGLISH");
pr.setDouble(3, 100.0);
pr.executeUpdate();



%>





[/code]





































Ice Cold 07.02.1210:55
1. אתה צריך להשתמש ב-request.getParameter בתגובה להודעה מספר 0
ככה:

[code]
request.getParameter("course")
[/code]

יחזיר לך את הערך של course מהטופס.
-KINGMAN- 07.02.1221:27
2. אם אני ישנה זה יכנס לי ל db? בתגובה להודעה מספר 1
אחרי שאני לחץ על הכפתור? והאם אני צריך טופס נוסף או שככה זה מספיק?
Ice Cold 08.02.1208:29
3. אם אני מבין נכון נכנסות לך רשומות היום גם בלי שתלחץ בתגובה להודעה מספר 2
על הטופס, מספיק שרק תיגש לעמוד הזה ותיכנס רשומה. הסיבה היא שאתה לא בודק אם שלחת את הטופס בכלל.

צור לך INPUT HIDDEN עם שם מיוחד כמו send_form או משהו כזה, ואת ההכנסה ל-DB תעשה רק אם יש לך getParameter כזה. בגישה רגילה לעמוד הוא לא יהיה קיים כי לא לחצת על הטופס.
-KINGMAN- 08.02.1210:09
4. אחי כנס בתגובה להודעה מספר 3

ערכתי לאחרונה בתאריך 08.02.12 בשעה 10:20 בברכה, -KINGMAN-

קודם המון תודה על העזרה
עשיתי את הדבר הבא כעת מה שאני רואה זה את השגיאה הזאת כנראה שמשהו שאני עושה פה לא תקין אשמח לעזרה


[code]
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.InitialContext"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
http://www.w3.org/TR/html4/loose.dt?...>


Students marks






Students Marks




Please enter a new record:


















Name:
Course:
Mark:







<%
Connection con = null;

InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:/DefaultDS");
con = ds.getConnection();

//insert student data
PreparedStatement ps = con.prepareStatement("INSERT into PUBLIC.STUDENTS values (?,?,?)");
ps.setString(1, request.getParameter("name"));
ps.setString(2, request.getParameter("course"));
ps.setInt(3, Integer.parseInt(request.getParameter("mark")));

ps.executeUpdate();
%>





[/code]



































Ice Cold 09.02.1211:17
5. שוב, לא בדקת אם שלחת טופס בכלל בקטע JAVA... בתגובה להודעה מספר 4
מה שקורה עכשיו הוא שברגע שאתה מריץ את הדף, ה-JAVA רץ, ומנסה להכניס רשומה. אחד מהשדות עובר PARSEINT, ומכיוון שהשדה כרגע ריק (כי לא הכנסת כלום עדיין, לא שלחת טופס), הוא נכשל.

ראיתי שהוספת HIDDEN חדש, אז לפני שאתה מתחיל להכניס בכלל את הרשומה, תבדוק אם request.getParameter("sendform") באמת שווה ל-2012. אם לא - הטופס לא נשלח בכלל, ואין לך טעם להמשיך.
העבר לפורום אחר
העבר לפורום:
סיבה:
תגובה חדשה
כותרת:
תוכן:
סמיילים:
הצג
עריכת אשכול
כותרת:
תוכן:
סמיילים:
הצג