package collabsoft.backlog_reports.c4;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
//import collabsoft.backlog_reports.c4.Report;
public class Report {
private Connection con;
public Report(){
connectUsingJDBC();
}
public static void main(String args[]){
Report dc = new Report();
dc.reviewMeeting(6, 8, 10);
dc.createReport("dede",100);
//dc.viewReport(100);
// dc.custRent(3344,123,22,11-11-2009);
}
/**
the following method is used to connect to the database
**/
public void connectUsingJDBC() {
// This is the name of the ODBC data source
String dataSourceName = "Simple_DB";
try {
// loading the driver in the memory
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// This is the connection URL
String dbURL = "jdbc:odbc:" + dataSourceName;
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Collabsoft","root","");
// This line is used to print the name of the driver and it would throw an exception if a problem occured
System.out.println("User connected using driver: " + con.getMetaData().getDriverName());
//Addcustomer(con,1111,"aaa","aaa","aa","aam","111","2222","111");
//rentedMovies(con);
//executePreparedStatement(con);
//executeCallableStatement(con);
//executeBatch(con);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*this code is to link the SQL code with the java for the task
*as an admin I should be able to create a report of a review meeting including notes, tasks and users
*i will take the task id and user id and note id that will be needed to be added in the review
*meeting report and i will display the information related to these ida
**/
public void reviewMeeting(int taskID, int userID, int noteID)// law el proc bt return table
{
try{
CallableStatement callableStatement = con.prepareCall("{CALL report_review_meeting(?,?,?)}");
callableStatement.setInt(1,taskID);
callableStatement.setInt(2,userID);
callableStatement.setInt(3,noteID);
ResultSet resultSet = callableStatement.executeQuery(); // or executeupdate() or updateQuery
ResultSetMetaData rsm = resultSet.getMetaData();
int numOfColumns = rsm.getColumnCount();
System.out.println("lojayna");
while (resultSet.next())
{
System.out.println("New Row:");
for (int i = 1; i <= numOfColumns; i++)
System.out.print(rsm.getColumnName(i) + ": " + resultSet.getObject(i) + " ");
System.out.println();
}
}
catch(Exception e)
{
System.out.println("E");
}
}
//////////////////////////////////
/////////////////////////////////
public void allproject(int projID)// law el proc bt return table
{
try{
CallableStatement callableStatement = con.prepareCall("{CALL all_project(?)}");
callableStatement.setInt(1,projID);
//callableStatement.setInt(2,userID);
//callableStatement.setInt(3,noteID);
ResultSet resultSet = callableStatement.executeQuery(); // or executeupdate() or updateQuery
ResultSetMetaData rsm = resultSet.getMetaData();
int numOfColumns = rsm.getColumnCount();
System.out.println("lojayna");
while (resultSet.next())
{
System.out.println("New Row:");
for (int i = 1; i <= numOfColumns; i++)
System.out.print(rsm.getColumnName(i) + ": " + resultSet.getObject(i) + " ");
System.out.println();
}
}
catch(Exception e)
{
System.out.println("E");
}
}
///////////////////////////////
/**
* here i take the event id and i take a string report and then
* i relate the report with the event
**/
public void createReport(String report,int E_ID )// law el proc bt return table
{
try{
Statement st = con.createStatement();
st.executeUpdate("UPDATE e_vent SET e_vent.report=report WHERE e_vent.E_ID= E_ID;");
/* CallableStatement callableStatement = con.prepareCall("{CALL Create_report(?,?)}");
callableStatement.setString(1,report);
callableStatement.setInt(2,E_ID);
ResultSet resultSet = callableStatement.executeQuery(); // or executeupdate() or updateQuery
ResultSetMetaData rsm = resultSet.getMetaData();
int numOfColumns = rsm.getColumnCount();
System.out.println("lojayna");
while (resultSet.next())
{
System.out.println("New Row:");
for (int i = 1; i <= numOfColumns; i++)
System.out.print(rsm.getColumnName(i) + ": " + resultSet.getObject(i) + " ");
System.out.println();
}*/
}
catch(Exception e)
{
System.out.println("E");
System.out.println(e);
}
}
/**
*in the following method i view the report of the event having the ID eventID
**/
public void viewReport(int eventID)// law el proc bt return table
{
try{
CallableStatement callableStatement = con.prepareCall("{CALL view_report(?)}");
callableStatement.setInt(1,eventID);
ResultSet resultSet = callableStatement.executeQuery(); // or executeupdate() or updateQuery
ResultSetMetaData rsm = resultSet.getMetaData();
int numOfColumns = rsm.getColumnCount();
System.out.println("lojayna");
while (resultSet.next())
{
System.out.println("New Row:");
for (int i = 1; i <= numOfColumns; i++)
System.out.print(rsm.getColumnName(i) + ": " + resultSet.getObject(i) + " ");
System.out.println();
}
}
catch(Exception e)
{
System.out.println("E");
}
}
}
//这些方法的结果显示在控制台上,我正在使用WIcket,我希望它能在网上显示2如何完成?!
答案 0 :(得分:0)
如果你想做的只是将文本转储到html页面,使用StringBuilder和/或使用方法创建一个额外的类来输出带有html标签的文本。
如果您确实想要为网站制作动画,最“简单”的方法是使用Servlet。请参阅以下链接以获取教程。
http://www.java-tips.org/java-tutorials/tutorials/introduction-to-java-servlets-with-eclipse.html
答案 1 :(得分:0)
如果你想要简单的解决方案,请选择James的回答。但是,如果您需要在应用程序甚至平台之间异步传输数据(当它们不是本地时双倍),您可能需要查看JMS api(当您使用Glassfish作为应用程序服务器时,它非常简单或Apache ActiveMQ实施做得很好)。我在部署中使用它,从webapp调用系统程序/脚本,然后这些程序在完成后通过JMS报告回webapp。
或者,您也可以将该输出转储到数据库。