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

📄 common_trade.java

📁 jdo开发实例,一个功能全面的oa系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:

			}

			out.print ("	<TR>\r\n");
			out.print ("	<TR>\r\n");
			out.print ("		<TD width='80'>sqlstring</TD>\r\n");
			out.print ("		<TD width='480'>"+sqlstring+"</TD>\r\n");
			out.print ("	</TR>\r\n");
			out.print ("	<TR>\r\n");
			out.print ("		<TD width='80'>sql语句是否执行</TD>\r\n");
			out.print ("		<TD width='480'>"+ifdo+"</TD>\r\n");
			out.print ("	</TR>\r\n");
			out.print ("	<TR>\r\n");
			out.print ("		<TD width='80'>sql语句是否有效</TD>\r\n");
			out.print ("		<TD width='480'>"+debug+"</TD>\r\n");
			out.print ("	</TR>\r\n");
			out.print ("	<TR>\r\n");
			out.print ("		<TD width='80'>是否有错误字段</TD>\r\n");
			out.print ("		<TD width='480'>"+ifsqlerror);
			if(ifsqlerror){out.print(":<font color='red'>"+sqlerror+"</font>");}
			out.print ("</TD>\r\n");
			out.print ("	</TR>\r\n");
			out.print ("</TABLE>\r\n");
	}

	private void getfieldname()
	{
		//这部分是获得数据库中的字段名
		fieldlist = new ArrayList (50);
		String getfieldnamesql="SELECT * from  " + sqltable +" WHERE (1 = 2)";
		ResultSet rs=null;
		ResultSetMetaData rsmd=null;
		int numberOfColumns=0;
		try
		{
			DataBase=JDBCUtil.getInstance();
			DataBase.connect();
			rs = DataBase.query(getfieldnamesql);
			rsmd = rs.getMetaData();
			numberOfColumns = rsmd.getColumnCount();
			fieldlist.add(String.valueOf(numberOfColumns));
			for (int i=1;i<=numberOfColumns;i++)
			{fieldlist.add(rsmd.getColumnName(i).toLowerCase());}
		}
		catch(Exception e){ if (debug)		{out.print("连接数据库有问题")	;	}}
		finally
		{
			rsmd=null;
			rs=null;
			try
			{	DataBase.disconnect();	}
			catch(Exception e){ if (debug)		{out.print("连接数据库有问题")	;	}}
		}

	}

	private void getHTMLParam()
	{
		TranID				= request.getParameter(req_TranID);
		sqlmethod			= request.getParameter(req_method);
		sqltable			= request.getParameter(req_table);
		nextPage			= request.getParameter(req_nextPage);
		tradetitle			= request.getParameter(req_tradetitle);
		tradeMessage		= request.getParameter(req_trademessage);
		sqlcount			= request.getParameter(req_sqlcount);

		successstate		= request.getParameter(req_success);
		failurestate		= request.getParameter(req_failure);

		userlog				= (request.getParameter(req_userlog)) ;
		if (userlog==null||userlog.equals(""))
		{
			userlog="操作记录";
		}
		//userlog			= getUserName() + userlog +":";



		try
		{
			//com.gzrealmap.UserLog userLogS	= new com.gzrealmap.UserLog ();
			//com.gzrealmap.common comm		= new com.gzrealmap.common ();
			//TranName=comm.getTranName(TranID);
		}catch (Exception e)
		{
			TranName="--";
		}


		if (successstate == null )
		{
			successstate = "OK";
		}
		if (failurestate == null )
		{
			failurestate = "fail,again";
		}

		if (sqlcount!=null)
		{
			sqlnum=Integer.parseInt(sqlcount.trim());
		}else
		{
			sqlcount="1";
			sqlnum=1;
		}
		parameters.put("sqlcount", sqlcount.trim() );						//设置sql语句的条数


		//判断是否需要显示资料和执行sql语句
		debug=false;
		if (request.getParameter(req_debug)!=null)
		{
			if (debug)		{System.out.println("debug"+debug);		}
			debug=true;

		}



		ifdo=true;
		if (request.getParameter(req_ifdo)!=null)
		{	ifdo=false;		}
	}

	private void totrade(String userid) throws Exception
	{
		if(debug) {out.print ("<br>执行sql语句......");}
		try
		{
		  transaction tran = transactionFactory.getTransaction(TranID,userid);
		  tran.setParameters(parameters);
		  tran.performAction();
		}
		catch (Exception e)
		{
			//userLogS.write (getUserID(),TranID,TranName, true, userlog);
			out.println ("<SCRIPT LANGUAGE='JavaScript'>\r\n");
			out.println ("	alert ('"+failurestate +"');\r\n");
			out.println ("	history.back(); \r\n");
			out.println ("</script>\r\n");
		}
		if(!debug)
		{
			out.println ("	<SCRIPT LANGUAGE='JavaScript'>\r\n");
			out.println ("	alert ('"+successstate +"');\r\n");
			out.println ("	window.location='"+nextPage+"';\r\n");
			out.println ("</script>\r\n");
		}
	}



	private  void sethtml()  throws IOException
	{
		out = response.getWriter();
		response.setContentType("text/html;charset=gb2312");
	}



	public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException
    {

	 fkafter="";
	 pkafter="";


	/* 调试参数 */
	//是否打印测试值------用于调试
	 debug=false;
	//是否执行操作--------用于调试
	 ifdo=true;
	//sql有效性----------用于调试
	 sqlvalid	=false;
	 sqlerror="   ";
	 ifsqlerror  =false;

	//sql的填充字段
	 FieldName	="";
	 FieldValue	="";
	 sqlwhere		="";

	//request得到的值
	 pkField		="";
	 sqlstring	="";
	 sqltable		="";
	 sqlmethod	="";
	 sqlcount		="";
	 sqlnum			=0;


	//交易码
	 TranID		="";
	 nextPage		="";
	 tradetitle	="";
	 tradeMessage	="";
	/* 交易信息 */
	 successstate = "";
	 failurestate = "";
	/* 用户日志 */
	 TranName		= null;
	 //userLogS	= null;
	 //comm	= null;
	 userlog		= null;

	//servlet的流操作
	 request=null;
	 response=null;
	 HttpSession session=null;
	 out = null;


	 DataBase =null;

	//这部分是获得数据库中的字段名
	  fieldlist=null;


	//用于多条SQL语句时传参。
	 parameters = null;




		request=req;
		response=resp;
		parameters = new Hashtable ();
		session = request.getSession();


System.out.println("******************************");
         String currentUserID = request.getRemoteUser();
    User user = User.getInstance();
    user = user.getUserByName(currentUserID);
    currentUserID = user.getID();
System.out.println(currentUserID);


	if (debug)
	{System.out.println("sethtml");
	}

			//设置html
			sethtml();
	if (debug)
	{System.out.println("1");
	}

			//获取参数
			getHTMLParam();

	if (debug)
	{System.out.println("2");
	}


			//这部分是获取相应表的所有字段名
			getfieldname();
	if (debug)
	{System.out.println("3");
	}


			//这部分是生成sql语句
			int sqlorderno=1;
			while (sqlorderno<=sqlnum)
			{
				gentradesql(String.valueOf(sqlorderno));
				sqlorderno++;
			}

			if (debug)
			{
				showdebug();
			}
	if (debug)
	{System.out.println("4");
	}


		//这部分是执行数据库的Sql程序
		if (ifdo&&sqlvalid&&(!ifsqlerror))
		{
			try{totrade(currentUserID);}
			catch (Exception e)
			{
				out.print("	<SCRIPT LANGUAGE='JavaScript'>	alert ('有错误,请重新输入');	history.go(-1); </script>");
			}
		}

			if (debug)
			{System.out.println("5");
			}



		request		= null;
		response	= null;
		parameters	= null;
		session		= null;
		out			= null;
	}


    public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException
    {
		doPost(request, response);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -