📄 ecminfadd.java
字号:
import java.io.*;
import java.lang.*;
import java.net.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class ecmInfAdd extends HttpServlet{
int InsCount=0;//插入记录数
String ObjType,OpType;//OpType操作类型,ObjType管理项目类型
String Lab="",dbName,tableName;//dbName数据库名,tableName表名,
ResultSet rs;
tableSql t;
String temp,insert0,delete0,cancel0,update0;
///初始化
public void init(ServletConfig conf) throws ServletException {
super.init(conf);
}
////
public void service(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
ServletOutputStream out=resp.getOutputStream();
temp="插入";
insert0=new String(temp.getBytes("GBK"),"ISO8859_1");
temp="删除";
delete0=new String(temp.getBytes("GBK"),"ISO8859_1");
temp="取消";
cancel0=new String(temp.getBytes("GBK"),"ISO8859_1");
temp="更改";
update0=new String(temp.getBytes("GBK"),"ISO8859_1");
dbName=req.getParameter("DbName");
tableName=req.getParameter("TableName");
Lab=req.getParameter("ColumnsLab");
//WatchParameters(req,out);
if (req.getParameter("DbName").equals("Ecmdb")){
t = new tableSql("Ecmdb");
System.out.println("open Sysdb");
}
System.out.println("Lab and tableName are:"+Lab+" "+tableName);
InsCount=InsertRecords(req,out,Lab,tableName);
System.out.println("InsCount is "+InsCount);
////display the html to the client
resp.setContentType("text/html");
out.println("<HTML>");
out.println("<HEAD><TITLE>Add Goods</TITLE></HEAD>");
out.println("<BODY bgcolor=\"#f5f5f5\">");
String temp000,temp001;
temp000="请输入以下信息";
temp001=new String(temp000.getBytes("GBK"),"ISO8859_1");
out.println("<HR><B>"+temp001+"</B><BR>");
out.println("<FORM METHOD=POST ACTION=\"/servlet/ecmInfAdd\">");
///get Lab用于构成插入语句
try{
int i;
rs=t.recordSql("select * from "+tableName);
ResultSetMetaData rsmd=rs.getMetaData();
int numCols=rsmd.getColumnCount();
for(i=2;i<=numCols-2;i++){ ///第一个no和最后一个域time自己确定,故用户可以不用给出
out.println(rsmd.getColumnLabel(i)+": "+"<INPUT TYPE=TEXT NAME="+"\""+"field"+i+"\"><BR>");
//Lab=Lab+rsmd.getColumnLabel(i)+",";
}
}
catch(SQLException e){System.out.println("Error SQL");}
//Lab=Lab.substring(0, (Lab.length()-1) ); //Lab=Lab.substring(int beginIndex, int endIndex)
System.out.println(Lab);
out.println("<INPUT TYPE=\"hidden\" name=\"DbName\" value=\""+dbName+"\">");
out.println("<INPUT TYPE=\"hidden\" name=\"TableName\" value=\""+tableName+"\">");
out.println("<INPUT TYPE=\"hidden\" name=\"ColumnsLab\" value=\""+Lab+"\" >");
out.println("<INPUT TYPE=SUBMIT VALUE="+insert0+">");
out.println("<INPUT TYPE=RESET VALUE="+cancel0+">");
out.println("</FORM>");
out.println("<BR><HR>");
///更新显示
DispTable("select * from "+tableName,out);
out.println("<BR><HR><BR>");
if (InsCount>0)
out.println("You have succeed to insert "+InsCount+" record!");
else out.println("You have fail to insert!");
System.out.println("enter add display");
out.println("</BODY></HTML>");
}
////构造插入语句,执行插入操作
public int InsertRecords(HttpServletRequest req,ServletOutputStream out,String Lab,String tableName)
throws ServletException,IOException{
int i=0,count=0; ///count used for insert amount
Enumeration keys;
String kkey,val,values="";
String[] ray=new String[20];
//out.println(Lab);
keys=req.getParameterNames();
System.out.println("enter get field values");
while (keys.hasMoreElements()) {
kkey=(String)keys.nextElement();
val=req.getParameter(kkey);
///获取插入域的值,并连接
if (kkey.startsWith("field")){
values="\'"+val+"\'"+",";
//out.println("ray["+(i)+"]"+values);
ray[i++]=values;
}
}
/////将数组ray反置连接后结果存入values中
values="";
for(int j=i-1;j>=0;j--){
values=values+ray[j];
}
values=values.substring(0, (values.length()-1) );
///执行插入操作
Lab=Lab+",goodstime";
values=values+","+System.currentTimeMillis();
values=replace2(values,''',' ',7);
count=t.recordInsert("insert into "+tableName+" ("+Lab+") values("+values+")");
System.out.println("insert into "+tableName+" ("+Lab+") values("+values+")");
return count;
}
///显示客户端发送的消息参数
public void WatchParameters(HttpServletRequest req,ServletOutputStream out)
throws ServletException,IOException{
int i=1;
Enumeration keys;
String kkey,values;
keys=req.getParameterNames();
while (keys.hasMoreElements()) {
kkey=(String)keys.nextElement();
values=req.getParameter(kkey);
out.println("<P>"+"key: "+kkey+" equals value:"+values);
}
}
///释放资源
public void Destroy(){
t.closeConnect();
}
public String replace2(String str,char oldChar, char newChar,int start)
{
if (oldChar != newChar)
{
char[] tempstr;
int counter=1;
int i;
tempstr=str.toCharArray();
for(i=0;i<str.length();i++)
{
if (tempstr[i]==oldChar)
{
counter++;
if (counter>start)
tempstr[i]=newChar;
}
}
return new String(tempstr);
}
return str;
}
////display the query result of the table
public void DispTable(String query,ServletOutputStream out) throws ServletException,IOException{
//out.println("<H1>TABLE RESULTS:</H1>");
out.println("<TABLE BORDER=\"1\" ALIGN=\"CENTER\">");
try{
synchronized(this) {
int i=0,j=0;
String tmpstr,checkbo;
rs=t.recordSql(query);
ResultSetMetaData rsmd=rs.getMetaData();
int numCols=rsmd.getColumnCount();
//display each column title
out.print("<TD>column name");
for(i=1;i<=numCols;i++){
//out.println(new String(name.getBytes("GBK"),"ISO8859_1") );
out.print("<TD>"+new String(rsmd.getColumnLabel(i).getBytes("GBK"),"ISO8859_1") );
System.out.println("display the title");
System.out.println(new String(rsmd.getColumnLabel(i).getBytes("GBK"),"ISO8859_1") );
}
out.println("<TR>");
System.out.println("enter display the table records");
//display each column data
while (rs.next()){
//tmpstr=rs.getString(2);
//out.print("<TD><INPUT TYPE=checkbox NAME=\"record"+i+"\">");
j++;
checkbo=rs.getString(1);
out.print("<TD><INPUT TYPE=\"checkbox\" NAME=\"record"+j+"\""+" value=\""+checkbo+"\">");
out.print("<TD>"+checkbo);
for(i=2;i<=numCols;i++){
tmpstr=rs.getString(i);
if(rs.wasNull())
out.print("<TD>NULL");
else
out.print("<TD>"+new String(tmpstr.getBytes("GBK"),"ISO8859_1") );
}
out.println("<TR>");
}
}
out.println("</TABLE>");
}
catch(SQLException ex){
System.out.println("\n***SQLException caught ***\n");
while (ex != null){
System.out.println("SQLState:"+ex.getSQLState());
System.out.println("Message:"+ex.getMessage());
System.out.println("Vendor:"+ex.getErrorCode());
ex=ex.getNextException();
System.out.println("");
}
out.println("</TABLE>");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -