⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecminfadd.java

📁 IBM AGLET及JAVA实现的电子商务系统源码
💻 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 + -