|
|
 |
| JSP Basics Beginning-level questions on JSP. More advanced coders should post to Pro JSP. |
Welcome to the p2p.wrox.com Forums.
You are currently viewing the JSP Basics section of the Wrox p2p Programmer to Programmer discussion community. This is a community of more than 40,000 computer programmers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining our free Wrox p2p community you can post your own programming questions and respond to other programmers’ questions. Registered users also don't have to see the ads that are displayed to guests. Registration is fast, simple and absolutely free so please, join today!
Join today and post to win prizes! Post more to increase your chances of being Wrox’s top poster of the month.
|
 |

September 22nd, 2004, 04:17 PM
|
|
Authorized User
|
|
Join Date: Jul 2004
Location: , , .
Posts: 18
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Sequencial ID by date Java
I want to generate ID number which will be reset everyday.
9/22/04 (1, 2, 3, 4, 5, .....)
9/23/04 (1, 2, 3, 4, 5, .....)
I am using JSp and recording the dates and creating autonumber Id, but i also want another ID by date.
Any help!
|

September 22nd, 2004, 05:10 PM
|
|
Friend of Wrox
|
|
Join Date: Jul 2004
Location: , , .
Posts: 204
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
hello,
Not sure what you mean.
What are the numbers for?
It is possible to return days as the day of the year i.e. 1 - 365, there are solutions in the sun java forums that go into how to use calendar in detail, but here's a snippet of mine that shows how to do it.
import java.util.*;
public class getToday
{
public String getToday(int offset)
{
Calendar cal = Calendar.getInstance();
int dayOfYear = cal.get(Calendar.DAY_OF_YEAR); // get today
offset = dayOfYear + offset; // add any offset to today
cal.set( Calendar.DAY_OF_YEAR, offset); // set day required using offset
String today = (cal.get(Calendar.YEAR)) + "/" + // format date for entry to database
(cal.get(Calendar.MONTH)+1) + "/:" +
(cal.get(Calendar.DAY_OF_MONTH)) + " Here is day of year: " +
(cal.get(Calendar.DAY_OF_YEAR));
return today;
}
}
If you simply want to know whether the date has changed since it was last opened you will need a place to store the 'last opened' date. I dont know where you could put this other than in a database table.
|

September 23rd, 2004, 11:31 AM
|
|
Authorized User
|
|
Join Date: Jul 2004
Location: , , .
Posts: 18
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Dear angrycat, Thanks.
But this is not what i want. I want to assign a job number for a user request form. Our dept. wants the job number to be reset everyday. Like say for example, if there are some job requests today it will get the number assigned sequentially 1, 2, 3, 4 …and it will follow as many requests are there for today. But tomorrow the job requests have to start with number 1, 2, 3, 4 …. So, everyday the job number will reset to one. I am having problem.
I am trying to compare the today’s date with the date of the last record entered in the database, but getting errors.
Thanks again.
|

September 23rd, 2004, 01:16 PM
|
|
Authorized User
|
|
Join Date: Jul 2004
Location: , , .
Posts: 18
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
I am sharing the code.
<%@ page contentType="text/html; charset=utf-8" import="java.sql.*, javax.mail.*, javax.mail.internet.*, java.util.*" errorPage="error.jsp"%>
<%
// define variables and assign values to variables
String Client_Time = request.getParameter("Client_Time"); //Value: new java.util.Date() Getting the system date and time from the client
String request_Date = request.getParameter("request_Date"); //User typed date in a textbox
int Day_id = 0; //initialized the day it
//load the MS Access JDBC driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//open a connection to the "Programming_Job_Request" database
String url="jdbc:odbc:Programming_Job_Request";
Connection testConn= DriverManager.getConnection(url,"test1","test1");
%>
<%
String jsql2="Select * from Job_History ORDER by ID DESC";
Statement stmt2 = testConn.createStatement(ResultSet.TYPE_SCROLL_SEN SITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs1 = stmt2.executeQuery(jsql2);
//The problem is here.
//check the date and increment the day id if already a id exist by that date
while(rs1.first()){
String pre_request_Date= rs1.getString("request_Date");
if (request_Date != pre_request_Date){
Day_id = 1;
}
else{
Day_id = Day_id +1;
//Print to Browser
//out.println(jsql2);
//Print to System
System.out.println(jsql2);
}
//System.out.println(Day_id);
}
rs1.close();
%>
<%
//place query results in a ResultSet object and insert to teh DB
String jsql="INSERT INTO Job_History(Day_id, request_Date, Client_Time) VALUES (?, ?, ?)" ;
//Print to Browser
//out.println(jsql);
//Print to System
//System.out.println(jsql);
%>>>><%=Client_Time%>>>>><%
//create a statement object for sending SQL queries
PreparedStatement stmt = testConn.prepareStatement(jsql);
stmt.setInt(1, Day_id);
stmt.setString(2, request_Date);
stmt.setString(3, Client_Time);
// stmt.setInt(7, Integer.parseInt(uid));
stmt.executeUpdate();
//clean up current resultse object
if (stmt!=null)stmt.close();
%>
<%
String jsql1="Select * from Job_History where Client_Time = '"+Client_Time+"'";
//"SELECT * FROM user WHERE user_name = '"+Client_Time+"'";
Statement stmt1 = testConn.createStatement();
ResultSet rs = stmt1.executeQuery(jsql1);
while(rs.next()){
String user_id= rs.getString("ID"); //An AutoNumbered ID from the Database and the Client time will print the current ID
%>
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Information Technology Resources</title>
</head>
<body>
<table border="0" width="450" id="table10">
<form method="POST" action="Implementation_estimated.jsp">
<tr>
<td><h3>Information Technology Resources<br>Programming Request Form</h3><br>
<table border="0" width="480" id="table11" height="0">
<tr>
<td colspan="4" width="0">
<b>Control Number:<%=user_id%></b> (Please remember this Number)</td>
</tr>
<tr>
<td colspan="4">
Day ID: <%=Day_id%></td>
</tr>
<tr>
<td colspan="4">
Request Date:<%=request_Date%>
</td>
</tr>
<%
}
rs.close();
%>
<%
if (testConn!=null)testConn.close();
%>
</table>
</body>
</html>
|

September 23rd, 2004, 03:05 PM
|
|
Friend of Wrox
|
|
Join Date: Jul 2004
Location: , , .
Posts: 204
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Hello,
You cannot compare strings with '=' so:
if (request_Date != pre_request_Date)
is incorrect.
You should use .equals.
if (string1.equals(string2))
or with a literal
if (string1.equals("myHardCoding"))
|

September 23rd, 2004, 04:19 PM
|
|
Authorized User
|
|
Join Date: Jul 2004
Location: , , .
Posts: 18
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Thanks Mr. angrycat,
I resolved it,
but now its always 1. cant tell if it is comparing
<%
/* */
String jsql2="Select * from Job_History1 ORDER by ID DESC";
Statement stmt2 = testConn.createStatement(ResultSet.TYPE_SCROLL_SEN SITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs1 = stmt2.executeQuery(jsql2);
//The problem is here.
//check the date and increment the day id if already a id exist by that date
rs1.first();
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
//this is also ok to get the util date in string format
//GregorianCalendar cal = new GregorianCalendar();
//String s = formatter.format(cal.getTime());
java.util.Date now = new java.util.Date();
String s = formatter.format(now); //convert date to string
//String pre_request_Date= rs1.getString("request_Date");
String pre_request_Date = formatter.format(rs1.getDate("request_Date"));
if (s.equals(pre_request_Date)){
Day_id = Day_id +1;
}
else{
Day_id = 1;
//Print to Browser
//out.println(jsql2);
//Print to System
//System.out.println(jsql2);
}
System.out.println("Current ID: " + Day_id);
System.out.println("Today: " + s);
System.out.println("Previous Date Record: " + pre_request_Date);
rs1.close();
%>
|

September 23rd, 2004, 04:38 PM
|
|
Authorized User
|
|
Join Date: Jul 2004
Location: , , .
Posts: 18
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
i think i resolved it. Thanks to all.
|

September 24th, 2004, 02:19 PM
|
|
Friend of Wrox
|
|
Join Date: Jul 2004
Location: , , .
Posts: 204
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
You can use the ! not equals operater with this, I THINK it goes before the brackets:
if !(s.equals(pre_request_Date))
Cant be sure if this is the right place but it can definately be done
|
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
 |