当前位置:网站首页>Graduation project EMS office management system (b/s structure) +j2ee+sqlserver8.0
Graduation project EMS office management system (b/s structure) +j2ee+sqlserver8.0
2022-06-30 03:49:00 【Suzhou program Dabai】
EMS Office management system (B/S structure )+J2EE+SQLserver2000

Blogger introduction
Personal home page : Suzhou program white Personal community :CSDN All over the country 🤟 The authors introduce : China DBA union (ACDU) member ,CSDN All over the country ( Yuan ) Gathering place Administrator . Currently engaged in industrial automation software development . Good at C#、Java、 Machine vision 、 Underlying algorithms and other languages .2019 Qiyue software studio was established in ,2021 Registered in Suzhou Kaijie Intelligent Technology Co., Ltd If you have any questions, please send a private letter , I will reply in time when I see it WeChat ID :stbsl6, WeChat official account : Suzhou program white If it helps you , Welcome to your attention 、 give the thumbs-up 、 Collection ( One key, three links ) Those who want to join the technical exchange group can add my friends , The group will share learning materials
1、 System development background and main contents are described
With the rapid development of today's society , Knowledge is becoming more and more important , The concept of lifelong learning has been deeply rooted in the hearts of the people . And office information management system ―― This traditional place for acquiring knowledge , Its status is becoming more and more important . The management method of the office information management system has been updated many times . From the initial manual management to the current computer management and so on .
The author investigated the current situation of some office information management systems , It is found that the management systems used by each office information management system are basically products of several years ago , Most use jsp The way ,web platform It also mainly uses jsp or php Development . And before VB Object oriented programming (OOP) Support It's not very good , System maintenance is also quite difficult .
MicrosoftJ2EE The introduction of Technology , Bring computing into a new era . Now? J2EE It has attracted wide attention in the industry .J2EE It is specially designed for programmers 、 Powerful development tools , With this tool, various applications can be built .J2EE It can be said to be broad and profound , It contains rich new technologies and ideas .
J2EE Make the application more powerful , Make system development easier , Make the deployment of the system easier . and J2EE Contains a unified class library , The unified data structure makes all kinds of programming models more unified .
Individual to J2EE Technology is very interesting , I have also done a lot of research in this area . In view of the current popular office information management system, management information system technology is relatively old , It germinates with J2EE The idea of developing a new office information management system management information system .
The practical significance of the system has two :1、 The developed system has powerful functions , It can be applied to large and medium-sized office information management systems , Functions can be added according to data requirements .2、 because J2EE The launch time is not very long , So the Internet is rarely useful J2EE Developed a large open source system . This system can be used for J2EE Programming enthusiasts some reference .
The theory part of this paper mainly aims at the database design technology 、 Stored procedure technology 、J2EE Technology and use SQL Server JSP data Provider access SQLserver8.0 The four aspects of database technology are studied and discussed .
Office information management system every line of code in the management information system is carefully carved out , From the inside J2EE The power and superiority of . The author consulted a large number of books in the process of programming , Reference to a large number of MSDN And the technical articles of major websites , The whole code is about 12000 lines . The author has done a lot of work for this .
In the development of the system , The author deeply realized J2EE The power and superiority of the platform and the important role of stored procedures in improving data access performance and enhancing data access security .
2、 System Overview
Office information management system management system is based on Microsoft The company's latest JSP Platform building , The basic language of coding is JSP. It is used uniformly in the development process J2EE The data type of the framework 、 Method , Abandoned the original vb6 The content of . It fully embodies J2EE The advantages of , Make the system easy to install and deploy 、 Easy maintenance .
System use J2EE+SQLserver2000 Pattern , The data layer is basically built based on stored procedures , Make it faster 、 safer .
2.1 Functions provided by the system
The purpose of this design is to study the office management system of the company (B/S structure ) Demand analysis of 、 Mission Overview 、 Front desk design 、 Database design 、 Introduction of module implementation , So that readers can use Java/JSP Development B/S The structure of the practical system has a clear understanding and understanding . At the same time, it enables readers to read and implement by themselves , Further understand how to transform actual functional requirements into specific requirements Java Programming , And let readers know and master JSP / Servlet Programming and Java Database programming . The learning focus of this design is how to refine the practical problems in the internal office management of the enterprise into functional requirements , How to translate functional requirements into specific B/S Structure module design and database design , And how to transform the system design into specification document description and standards Java Code implementation .
Design brief :
This system is the company's office information management system , It is mainly used to manage the company's employee information and financial information , And provide the company's internal information exchange platform . The system is mainly composed of the following four parts :
1、 System user authentication subsystem : Match the user name and password entered by the user , And limit the number of user login errors , At the same time, the login status of the user is recorded , So that when users browse other pages of the system , Confirm the login status .
2、 Company employee information management subsystem : In addition to querying employee information , You can also modify the personal information page for users , System administrator page , Add a new user page and modify a user information page .
3、 Company financial information management subsystem : It can be detailed as adding a new financial information record page , Add new financial item page , Generate various financial report pages and modify a financial record page .
4、 Internal information exchange subsystem of the company : It can be divided into notice bulletin board page , Post a new notification page , Modify a notification page , Suggestion box page , Opinion Analysis page , Polling station page and voting Analysis page .
The part designed for data :
Due to the diversity of data and location uncertainty , This part is based on B/S The way to achieve . Code using JSP To write , utilize JSP The advantages of , Can automatically adapt to a variety of data browsers . The screenshot is as follows :
Data only needs a computer connected to the Internet and a common WEB browser . You can easily query the office information management system 、 Change personal information 、 Feed back information to the office information management system . This section mainly provides the following functions :
1、 Login authentication .( Prevent data information from being stolen .)
2、 Office information management system query .( An integrated office information management system query system , It can easily make the data find the required information .)
3、 Data personal information query and management .( Some personal data can be changed properly , Such as email etc. , In addition, the current data can be found here 、 All records, etc .)
4、 information service .( Regularly publish overdue data list , And the newly arrived office information management system .)
2.2 System innovation and some features
1、 Firstly, this system is based on J2EE Platform built , This has never happened before .
2、 The system solves a problem about time conflict very well .
The problem of time conflict is described as follows :
Office information management system management information system is a network version of the system , It works by having a master data server 、 There are also several data terminals responsible for various functions . for instance : The office information management system may have several data end computers for management 、 There may also be several for managing 、 There may also be several sets for the office information management system 、 Data information maintenance, etc . Because the system time of each computer may change , This will cause data errors . For example, Zhang Yu 2 month 10 I am responsible for A I borrowed a book from computer No , Probably A The system time of is wrongly set to 2 month 5 Japan . If Zhang's maximum time is one month , Then the time he should have been set to 3 month 5 Japan .
The author also referred to some related office information management systems in the development process , It was found that some systems did not notice this problem at all . Some are to set a prompt for time calibration at the system data end or simply enter the time manually . This will undoubtedly increase the burden on the operators , And the calibration is not necessarily correct .
In this system , All times are based on server time . That is, necessary time related operations in the system . All adopt standard T-SQL function GETDATE() Return time from data server . This avoids functional errors , It also avoids unnecessary burden on operators .
3、 use J2EE Open concurrency for concurrency control
In the use of office information management system , There may be multiple data machines operating the same data line at the same time . For example, responsible for modifying the information of the office information management system A Computer number is being modified to XXX Nationality of , And the number is B Your computer is trying to delete the number XXX Nationality of . There are bound to be some conflicts , This is about concurrency control .
When multiple users try to modify data at the same time , It is necessary to establish a control mechanism to prevent the modification of one user from adversely affecting the modification made by other users operating at the same time . The system that handles this situation is called “ concurrency control ”.
In the previous programming model , Most use conservative concurrency control , That is, during the period from obtaining records to updating records in the database , This line is not available to users .J2EE Data set of DataSet It's a disconnected model , Not suitable for conservative concurrency . In my office information management system management information system , Open concurrency control is used ( See the English articles I translated in the appendix ), That is, only when the data is actually updated , This line is not available to other users . The update will examine the row in the database and determine if any changes have been made . If you try to update a changed record , Will cause concurrency conflicts .
4、 All data layers are built on stored procedures
Using stored procedures , It can reduce network traffic , Improve the speed and security of the program . For details, please refer to the research and Discussion on stored procedures in the author's article .
3、 Description of system design process and principle
Management information system ( hereinafter referred to as MIS) Serve the modern enterprise management , It is a computer network system that provides enterprises and institutions with work efficiency and economic benefits .
Management information system involves many factors 、 Very complicated , It is difficult to develop . If you master a set of effective development methods , And have a good grasp of MIS Key points in development , During development, a large number of employees can be terminated 、 Financial resources, etc .
I personally have done a lot of research 、 practice . Think in MIS In development , First, the database technology is MIS Important technologies in development . The success or failure of database development directly affects the whole MIS Development of . therefore , Build an excellent MIS There must be a good database design . This paper focuses on the database design theory . Mainly in two aspects , First, basic database theory ; Two is J2EE On the platform J2EE Data access technology .
secondly , stay MIS Development process , The development tools used and the kind of applications that should be developed are also important . I can't help mentioning Microsoft The company's JSP platform .JSP Is a new computing platform , It is simplified in highly distributed Internet Application development in the environment . It provides a consistent object-oriented programming environment 、 Providing a code execution environment that minimizes conflicts between system deployment and version control, and so on . In the following introduction to the development process, we will briefly explain .
Again , The interface design is also MIS A key point of . The interface must be easy to learn and easy to use . In today's popular programming , There are two options when designing an application that includes a user interface :Windows Forms and Web forms . Both have full design time support in the development environment , And it can provide rich user interface and advanced application functions to solve business problems . Choose which application to develop according to the specific functions of the application . The office information management system I developed is a combination of the two . In terms of management functions , I used the traditional WinForms technology . And the functional modules in data use , Yes, it is webForms Developed .
3.1 Database design
Database technology is 20 century 60 A computer data management technology developed in the late s , It is widely used in various information processing and scientific research . Database technology has become a very important technology in today's era .
Nowadays, the popular database system is mainly the second generation database system represented by relational database .
Nowadays, the popular large-scale database management systems mainly include SQL Server、Oracle、Sybase etc. .
Office information management system the management information system is SQLserver2000 Database management system .
The reasons for choosing it are :SQLserver2000 Powerful , It can completely realize all functions of the database system . also , The system development platform we selected is from Microsoft JSP platform , It well supports its database products SQLserver2000, And to speed up data processing ,JSP There is also a special one in the platform SQL Server Data provider (System.Data.SqlClient).
Office information management system management information system use SQLserver2000 Database management system , Finally, the database table is designed as follows :
Database name lib2004 The data sheet has :



The database table relationships are as follows :
The following is an office information management system management system in a verification login function :
Public Function validateLogin(ByVal uid As String, ByVal pwd As String) As Boolean
Dim IsCorrect As Boolean = False
Dim cnmy As New SqlConnection(“server=(local);database=lib2004;uid=sa;pwd=”)
Dim cmd As New SqlCommand
With cmd
.Connection = cnmy
.CommandType = CommandType.Text
.CommandText = "select count(*) from manager where [email protected]_id and [email protected]_pwd"
End With
Dim mMan_id As New SqlParameter("@Man_id", SqlDbType.NVarChar, 50)
Dim mMan_pwd As New SqlParameter("@Man_pwd", SqlDbType.NVarChar, 12)
With cmd.Parameters
.Add(mMan_id)
.Add(mMan_pwd)
End With
mMan_id.Value = uid
mMan_pwd.Value = pwd
Try
cnmy.Open()
If cmd.ExecuteScalar = 1 Then
IsCorrect = True
End If
Catch ex As Exception
MessageBox.Show(" An error occurred in the database during login verification " + vbCrLf + ex.Message, _
"error", MessageBoxButtons.OK, MessageBoxIcon.Stop)
Return False
Finally
cnmy.Close()
If Not cnmy Is Nothing Then
cnmy.Dispose()
End If
End Try
Return IsCorrect
End Function
Now let's go through this function step by step .
This example shows how to perform sql sentence .
This example uses System.Data.SqlClient Two important objects in the namespace :1. Connection object SqlConnection;2.sql Command object SqlCommand.
SqlConnection Object representation and SQL Server A unique session of the data source . For the data side / Server database system , It is equivalent to a network connection to the server .
Its important properties are shown in the following table :
| ConnectionString | Gets or sets the for opening SQL Server Database string . |
ConnectionString The format is as follows :
| Use sql Verification mode : | (server= Server name ;database= Database name ;uid= user name ;pwd= password ) |
| Use windows Integration verification | (server= Server name ;database= Database name ;Integrated Security=SSPI) |
SqlCommand Object indicates that you want to SQL Server A database execution T-SQL Statement or stored procedure . Its important properties are as follows :
| CommandText | Gets or sets the Transact-SQL Statement or stored procedure . |
| CommandTimeout | Gets or sets the waiting time before terminating an attempt to execute a command and generating an error . |
| CommandType | Gets or sets a value , This value indicates how to interpret CommandText attribute . |
| Connection | Get or set SqlCommand Used by this instance of SqlConnection. |
SqlCommand In particular, the following pairs of SQL Server How to execute commands in the database :
| ExecuteReader | Execute the command that returns the line . To improve performance ,ExecuteReader Use Transact-SQL sp_executesql System stored procedure call command . therefore , If it is used to execute something like Transact-SQL SET Statement ,ExecuteReader May not achieve the desired results . |
| ExecuteNonQuery | perform T-SQL INSERT、DELELE、UPDATE And SET Statements and other commands . |
| ExecuteScalar | Retrieve a single value from the database ( For example, an aggregate value ). |
| ExecuteXmlReader | take CommandText Send to Connection Generate a XmlReader object . |
The basic steps for using data commands directly are :
1、 Create a new one SqlConnection object , Set up ConnectionString attribute .
2、 Create a new one SqlCommand object , Set their... Respectively CommandText、CommandTimeout、CommandType、Connection attribute .
3、 If it's to be done T-SQL Statement or stored procedure with parameters , You must first set SqlCommand Object's Parameters attribute .
4、 call SqlConnection Object's open Method to open the connection .
5、 perform SqlCommand command . See the above table for the execution method and the corresponding return results .
6、 call SqlConnection Object's close Method to close the connection .
This example USES ExecuteScalar Method Return to one Aggregate functions count(*) Value ,count(*) Return results Is the number of records queried . If the user name and password match , A record is returned , here Count(*) The value is 1, eligible , Successfully passed the verification .
4、 Part of the core code
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.text.*"%>
<%@ page import="cn.edu.buaa.nlsde.db.*"%>
<%request.setCharacterEncoding("GB2312");
String TheMessage = "";
String sql1 = "";
String sql2 = "";
String sql3 = "";
String sql4 = "";
String TheAddDate = "";
int QueryLabel = 0;
String TheName = "";
String TheDepartment = "";
String TheProjectName = "";
int TheFundTypeA = 0;
int TheFundTypeB = 0;
int TheFundTypeC = 0;
int TheFundTypeD = 0;
String TheSummary = "";
String TheRemark = "";
String TheModifyDate = "";
int TheSum = 0;
String temp = "";
String SqlString = "";
Calendar cal = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String Date = format.format(cal.getTime());
format = new SimpleDateFormat("yyyy");
String Year = format.format(cal.getTime());
format = new SimpleDateFormat("MM");
String Month = format.format(cal.getTime());
format = new SimpleDateFormat("dd");
String Day = format.format(cal.getTime());
ResultSet RSRecordResult = null;
ResultSet RSThisRecord = null;
Hashtable HTThisRecord = new Hashtable();
// Determine whether the user is logged in
if (session.getAttribute("ID") == null) {
response.sendRedirect("../login.jsp");
}
// Determine whether the user has the identity of financial administrator
if (session.getAttribute("IsFinancialManager").equals("False")) {
response.sendRedirect("finance.jsp");
}
// Connect to the system database
//Connection conn = (new DBConnect()).getODBCConn("EIMS");
Connection conn = (new DBConnect()).getConnPoolConn("eims");
Statement stmt = conn.createStatement();
boolean Warning = false;
// Query a financial record
if (request.getParameter("Query") != null) {
// Get the user's query criteria
if (request.getParameter("QueryCheck1") != null
&& (request.getParameter("FinancialRecordID") != null)) {
sql1 = "and ID=" + request.getParameter("FinancialRecordID");
}
else {
sql1 = " ";
}
if (request.getParameter("QueryCheck2") != null
&& (request.getParameter("FinancialProjectName") != null)) {
sql2 =
" and ProjectName='"
+ request.getParameter("FinancialProjectName")
+ "'";
}
else {
sql2 = " ";
}
if (request.getParameter("QueryCheck3") != null) {
sql3 =
" and Name='" + request.getParameter("SelectName") + "'";
}
else {
sql3 = " ";
}
if (request.getParameter("QueryCheck4") != null) {
TheAddDate =
request.getParameter("AddYear")
+ "-"
+ request.getParameter("AddMonth")
+ "-"
+ request.getParameter("AddDay");
sql4 = " and AddDate='" + TheAddDate + "' ";
}
else {
sql4 = " ";
}
SqlString =
"select * from FinancialRecord where AccountName='"
+ session.getAttribute("Name")
+ "' "
+ sql1
+ sql2
+ sql3
+ sql4
+ " order by Name";
System.out.println(SqlString);
RSRecordResult = stmt.executeQuery(SqlString);
TheMessage = " The financial records you inquired about are as follows ";
QueryLabel = 2;
}
// The user has selected a financial record to query
else if (request.getParameter("SelectRecord") != null) {
TheMessage = " Please modify this financial record below ";
RSThisRecord =
stmt.executeQuery(
"select * from FinancialRecord where ID="
+ request.getParameter("RadioFinancialRecord"));
QueryLabel = 3;
while (RSThisRecord.next()) {
HTThisRecord.put("ID", new Integer(RSThisRecord.getInt(1)));
HTThisRecord.put("Name", RSThisRecord.getString(2));
HTThisRecord.put("ProjectName", RSThisRecord.getString(4));
HTThisRecord.put(
"FundTypeA",
new Integer(RSThisRecord.getInt(5)));
HTThisRecord.put(
"FundTypeB",
new Integer(RSThisRecord.getInt(6)));
HTThisRecord.put(
"FundTypeC",
new Integer(RSThisRecord.getInt(7)));
HTThisRecord.put(
"FundTypeD",
new Integer(RSThisRecord.getInt(8)));
HTThisRecord.put("Summary", RSThisRecord.getString(10));
HTThisRecord.put("Remark", RSThisRecord.getString(11));
HTThisRecord.put(
"AddDate",
RSThisRecord.getString(13).substring(0, 10));
}
}
// The user has updated the selected financial records
else if (request.getParameter("UpdateRecord") != null) {
// Verify user input
try {
NumberFormat numberformat = NumberFormat.getInstance();
numberformat.parse(request.getParameter("UpdateFundTypeA"));
numberformat.parse(request.getParameter("UpdateFundTypeB"));
numberformat.parse(request.getParameter("UpdateFundTypeC"));
numberformat.parse(request.getParameter("UpdateFundTypeD"));
ResultSet RSLinkedDepartment =
stmt.executeQuery(
"select Department from PSLogins where Name='"
+ request.getParameter("UpdateName")
+ "'");
TheName = request.getParameter("UpdateName");
while (RSLinkedDepartment.next()) {
TheDepartment =
RSLinkedDepartment.getString("Department");
}
TheProjectName = request.getParameter("UpdateProjectName");
TheFundTypeA =
new Integer(request.getParameter("UpdateFundTypeA"))
.intValue();
TheFundTypeB =
new Integer(request.getParameter("UpdateFundTypeB"))
.intValue();
TheFundTypeC =
new Integer(request.getParameter("UpdateFundTypeC"))
.intValue();
TheFundTypeD =
new Integer(request.getParameter("UpdateFundTypeD"))
.intValue();
TheSummary = request.getParameter("UpdateSummary");
TheRemark = request.getParameter("UpdateRemark");
TheModifyDate = Date;
TheSum =
TheFundTypeA + TheFundTypeB + TheFundTypeC + TheFundTypeD;
// Modify this financial record
stmt.executeUpdate(
"update FinancialRecord set Name='"
+ TheName
+ "',Department='"
+ TheDepartment
+ "',FundTypeA="
+ TheFundTypeA
+ ",FundTypeB="
+ TheFundTypeB
+ ",FundTypeC="
+ TheFundTypeC
+ ",FundTypeD="
+ TheFundTypeD
+ ",Sum="
+ TheSum
+ ",Summary='"
+ TheSummary
+ "',Remark='"
+ TheRemark
+ "',ModifyDate='"
+ TheModifyDate
+ "',ProjectName='"
+ TheProjectName
+ "' Where ID="
+ request.getParameter("UpdateID"));
QueryLabel = 3;
TheMessage = " The record has been modified successfully ";
}
catch (Exception ex) {
TheMessage = " Non numeric content appears in the payment field in the record , This record cannot be modified , Please fill in the record again ";
Warning = true;
QueryLabel = 3;
}
RSThisRecord =
stmt.executeQuery(
"select * from FinancialRecord where ID="
+ request.getParameter("UpdateID"));
while (RSThisRecord.next()) {
HTThisRecord.put("ID", new Integer(RSThisRecord.getInt(1)));
HTThisRecord.put("Name", RSThisRecord.getString(2));
HTThisRecord.put("ProjectName", RSThisRecord.getString(4));
HTThisRecord.put(
"FundTypeA",
new Integer(RSThisRecord.getInt(5)));
HTThisRecord.put(
"FundTypeB",
new Integer(RSThisRecord.getInt(6)));
HTThisRecord.put(
"FundTypeC",
new Integer(RSThisRecord.getInt(7)));
HTThisRecord.put(
"FundTypeD",
new Integer(RSThisRecord.getInt(8)));
HTThisRecord.put("Summary", RSThisRecord.getString(10));
HTThisRecord.put("Remark", RSThisRecord.getString(11));
HTThisRecord.put(
"AddDate",
RSThisRecord.getString(13).substring(0, 10));
}
}
else {
TheMessage = " Please fill in the query criteria of the financial record you want to modify below ";
QueryLabel = 1;
}
%>
<HTML>
<HEAD>
<TITLE> Company financial information management system </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<BODY BGCOLOR="">
<table width=800 border=0 bgcolor=#164DA8 cellspacing=1 cellpadding=2
align=center>
<tr bgcolor=white>
<td valign=middle><img src="../image/jsplogo.jpg" width=796 height=100></td>
</tr>
</table>
<table width="800" border="0" bordercolor="#164DA8" align="center"
cellpadding="0" cellspacing="0">
<tr>
<td height="13"><img src=".././image/banner2.jpg" width="800"
height="12"></td>
</tr>
</table>
<table width=800 border=0 bgcolor=#164DA8 cellspacing=1 cellpadding=2
align=center>
<tr>
<td colspan=3>
<div align="center"><font color=white>
Company office information management system -> Company financial information management system -> Modify financial records [ The current user - <%=session.getAttribute("Name")%>
] </font></div>
</td>
</tr>
<tr bgcolor=white>
<td><a href=".././html/home.jsp"><font color="#104DAD"> Return to the system home page </font></a></td>
<td align=center><%if (Warning == false) {
%> <font color="#104DAD"><%=TheMessage%></FONT>
<%}
else {
%> <font color=Red><%=TheMessage%></font> <%}%></td>
<td align=right><a href="finance.jsp"><font color="#104DAD"> Return to the previous page </font></a></td>
</tr>
</table>
<table width="800" border="0" bordercolor="#164DA8" align="center"
cellpadding="0" cellspacing="0">
<tr>
<td height="13"><img src=".././image/banner2.jpg" width="800"
height="12"></td>
</tr>
</table>
<br>
<FORM ACTION="modifyfinancialrecord.jsp" METHOD=POST><%if (QueryLabel == 1) {
%>
<TABLE CELLPADDING=1 CELLSPACING=2 BORDER=1 bordercolor="#164DA8"
WIDTH=800 align=center>
<TR VALIGN="middle" ALIGN="center">
<TD WIDTH=20% bgcolor=#B5C7EF><img src="../image/finance1.jpg"></td>
<td>
<table CELLPADDING=1 CELLSPACING=1 BORDER=1 align=center width=100%
bgcolor=White>
<tr height=35>
<td><input type=checkbox name=QueryCheck1 value="on"></td>
<td> Financial records ID</td>
<td><INPUT TYPE="text" NAME="FinancialRecordID" VALUE="" size=50></td>
</tr>
<tr height=35>
<td><input type=checkbox name=QueryCheck2 value="on"></td>
<td> Name of financial project </td>
<td><INPUT TYPE="text" NAME="FinancialProjectName" VALUE="" size=50>
</td>
</tr>
<tr height=35>
<td><input type=checkbox name=QueryCheck3 value="on"></td>
<td width=25%><font color="#164DA8"> Financial Record Handler </font></td>
<td><SELECT NAME="SelectName">
<%ResultSet RSPersons =
stmt.executeQuery("select Name from PSLogins order by Name");
while (RSPersons.next()) {
temp = RSPersons.getString("Name");%>
<OPTION VALUE="<%=temp%>"><%=temp%></OPTION>
<%}%>
</SELECT></td>
</tr>
<tr height=35>
<td><input type=checkbox name=QueryCheck4 value="on"></td>
<td width=25%><font color="#164DA8"> Add date to financial record </font></td>
<td><select name="AddYear" size=1>
<OPTION VALUE="<%=Year%>"><%=Year%></OPTION>
<%for (int YearCounter = 1990; YearCounter <= 2050; YearCounter++) {
%>
<OPTION VALUE="<%=YearCounter%>"><%=YearCounter%></OPTION>
<%}%>
</select> year <select name="AddMonth" size=1>
<OPTION VALUE="<%=Month%>"><%=Month%></OPTION>
<%for (int MonthCounter = 1; MonthCounter <= 12; MonthCounter++) {
%>
<OPTION VALUE="<%=MonthCounter%>"><%=MonthCounter%></OPTION>
<%}%>
</select> month <select name="AddDay" size=1>
<OPTION VALUE="<%=Day%>"><%=Day%></OPTION>
<%for (int DayCounter = 1; DayCounter <= 31; DayCounter++) {
%>
<OPTION VALUE="<%=DayCounter%>"><%=DayCounter%></OPTION>
<%}%>
</select> Japan </td>
</tr>
</table>
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=1 WIDTH=100% align=center>
<TR VALIGN="top" ALIGN="center">
<TD WIDTH=100% align=center><INPUT TYPE="submit" NAME="Query"
VALUE=" Query qualified financial records "
style="border: 1px solid #3466BB; background-color: #B6CAEB; color: #3466BB">
</TD>
</TR>
<tr>
<td><div align="center"> Be careful : You can only modify your financial records as an accountant !</div></td>
</tr>
</table>
</td>
</TR>
</table>
<br>
<%}%> <%if (QueryLabel == 2) {
%>
<table width=800 border=0 bgcolor=#164DA8 cellspacing=1 cellpadding=2
align=center>
<tr>
<td><font color=white> Choose </font></td>
<td><font color=white> Record ID</font></td>
<td><font color=white> Record who handled it </font></td>
<td><font color=white> department </font></td>
<td><font color=white> Financial items </font></td>
<td><font color=white> Money A</font></td>
<td><font color=white> Money B</font></td>
<td><font color=white> Money C</font></td>
<td><font color=white> Money D</font></td>
<td><font color=white> total </font></td>
<td><font color=white> Add date </font></td>
<td><font color=white> Date of last revision </font></td>
</tr>
<%int index = 0;
while (RSRecordResult.next()) {
index = RSRecordResult.getInt("ID");
out.println(
"<tr bgcolor=white><td><input type=radio name=RadioFinancialRecord value="
+ index
+ "></td>");
out.println("<td>" + index + "</td>");
out.println("<td>" + RSRecordResult.getString("Name") + "</td>");
out.println(
"<td>" + RSRecordResult.getString("Department") + "</td>");
out.println(
"<td>" + RSRecordResult.getString("ProjectName") + "</td>");
out.println(
"<td>" + RSRecordResult.getInt("FundTypeA") + "</td>");
out.println(
"<td>" + RSRecordResult.getInt("FundTypeB") + "</td>");
out.println(
"<td>" + RSRecordResult.getInt("FundTypeC") + "</td>");
out.println(
"<td>" + RSRecordResult.getInt("FundTypeD") + "</td>");
out.println("<td>" + RSRecordResult.getInt("Sum") + "</td>");
out.println(
"<td>"
+ RSRecordResult.getString("AddDate").substring(0, 10)
+ "</td>");
temp = RSRecordResult.getString("ModifyDate");
if (temp != null) {
temp = temp.substring(0, 10);
}
out.println("<td>" + temp + "</td></tr>");
}
%>
</table>
<table width="800" border="0" bordercolor="#164DA8" align="center"
cellpadding="0" cellspacing="0">
<tr>
<td height="13"><img src=".././image/banner2.jpg" width="800"
height="12"></td>
</tr>
</table>
<p align=center><input type=submit name=SelectRecord value= Select a financial record
style="border: 1px solid #3466BB; background-color: #FFFFFF; color: #3466BB">
<%}%> <%if (QueryLabel == 3) {
%>
<TABLE CELLPADDING=1 CELLSPACING=2 BORDER=1 bordercolor="#164DA8"
WIDTH=800 align=center>
<TR VALIGN="middle" ALIGN="center">
<TD WIDTH=20% bgcolor=#B5C7EF><img src="../image/finance1.jpg"></td>
<td>
<table CELLPADDING=1 CELLSPACING=1 BORDER=1 align=center width=100%>
<tr>
<td width=30%> Financial record number </td>
<td><%=((Integer)HTThisRecord.get("ID")).intValue()%> <input
name=UpdateID type=hidden
value="<%=((Integer)HTThisRecord.get("ID")).intValue()%>"></td>
</tr>
<tr>
<td width=30%> Add date to financial record </td>
<td><%=HTThisRecord.get("AddDate")%></td>
</tr>
<tr>
<td width=30%> People in charge </td>
<td><Select name=UpdateName>
<option value="<%=HTThisRecord.get("Name")%>"><%=HTThisRecord.get("Name")%></option>
<%ResultSet RSPersons =
stmt.executeQuery("select Name from PSLogins order by Name");
while (RSPersons.next()) {
temp = RSPersons.getString("Name");
out.println("<option value=" + temp + ">" + temp + "</option>");
}%>
</select></td>
</tr>
<tr>
<td width=30%> Financial items </td>
<td><Select name=UpdateProjectName>
<option value="<%=HTThisRecord.get("ProjectName")%>"><%=HTThisRecord.get("ProjectName")%></option>
<%ResultSet RSFinancialProject =
stmt.executeQuery(
"select * from FinancialProject order by FinancialProjectName");
while (RSFinancialProject.next()) {
temp = RSFinancialProject.getString("FinancialProjectName");
out.println("<option value=" + temp + ">" + temp + "</option>");
}%>
</select></td>
</tr>
<tr>
<td width=30%> Money A</td>
<td><input name=UpdateFundTypeA
value="<%=((Integer)HTThisRecord.get("FundTypeA")).intValue()%>"></td>
</tr>
<tr>
<td width=30%> Money B</td>
<td><input name=UpdateFundTypeB
value="<%=((Integer)HTThisRecord.get("FundTypeB")).intValue()%>"></td>
</tr>
<tr>
<td width=30%> Money C</td>
<td><input name=UpdateFundTypeC
value="<%=((Integer)HTThisRecord.get("FundTypeC")).intValue()%>"></td>
</tr>
<tr>
<td width=30%> Money D</td>
<td><input name=UpdateFundTypeD
value="<%=((Integer)HTThisRecord.get("FundTypeD")).intValue()%>"></td>
</tr>
<tr>
<td width=30%> Abstract </td>
<td><input name=UpdateSummary
value="<%=HTThisRecord.get("Summary")%>"></td>
</tr>
<tr>
<td width=30%> remarks </td>
<td><input name=UpdateRemark value="<%=HTThisRecord.get("Remark")%>"></td>
</tr>
</table>
<p align=center><input type=submit name=UpdateRecord value= Modify this financial record
style="border: 1px solid #3466BB; background-color: #FFFFFF; color: #3466BB">
<%}%>
</td>
</tr>
</table>
</FORM>
</BODY>
</HTML>
<%DBConnectionManager.getInstance().freeConnection("eims", conn);%>
Click to get the information directly

边栏推荐
- Geometric objects in shapely
- Interface test tool postman
- 毕业设计EMS办公管理系统(B/S结构)+J2EE+SQLserver8.0
- 124 articles in total! Motianlun "high availability architecture" dry goods document sharing (including Oracle, mysql, PG)
- [note] Introduction to data analysis on June 7, 2022
- Solve the problem of Navicat connecting to the database
- Using virtual environments in jupyter notebook
- Local, locallow and roaming in the appdata folder
- 1151_ Makefile learning_ Static matching pattern rules in makefile
- MySQL performance optimization (5): principle and implementation of master-slave synchronization
猜你喜欢

Practical debugging skills

Redis在windows系统中使用

1148_ Makefile learning_ Targets, variables, and wildcards in makefile

Laravel9 installation locale

How to use FME to create your own functional software

Number of students from junior college to Senior College (III)

(03).NET MAUI实战 基础控件

laravel9本地安装

Implementation of aut, a self-developed transport layer protocol for sound network -- dev for dev column
![[punch in - Blue Bridge Cup] day 3 --- slice in reverse order list[: -1]](/img/c2/13693dcb51aab565957b6c5e686b7c.jpg)
[punch in - Blue Bridge Cup] day 3 --- slice in reverse order list[: -1]
随机推荐
Green new power and "zero" burden of computing power -- JASMINER X4 series is popular
[operation] MySQL query operation 2 on May 25, 2022
UML diagrams and list collections
(03).NET MAUI实战 基础控件
11: I came out at 11:04 after the interview. What I asked was really too
毕业设计EMS办公管理系统(B/S结构)+J2EE+SQLserver8.0
(04).NET MAUI实战 MVVM
关于智能视觉组上的机械臂
MySQL performance optimization (6): read write separation
UML图与List集合
GIS related data
C # [advanced chapter] C # anonymous method [lambda expression to be supplemented...]
.NET 7 的 JWT 配置太方便了!
If you can tell whether the external stock index futures trading platform I am trading is formal and safe?
Are you a "social bull" or a "social terrorist" in the interview?
C [advanced] C interface
From 2500 a month, no one wants to go to the programming road of the technical director of a large factory | my ten years
解决navicat连接数据库遇到的问题
DO280私有仓库持久存储与章节实验
【笔记】2022.6.7 数据分析概论