package dbsample;
import java.sql.*;
import java.util.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import java.io.*;
public class selectAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
// 画面パラメータの取得
selectActionForm myForm = (selectActionForm)form;
// セッションの取得
HttpSession session = request.getSession();
try
{
Connection con = null;
Statement stmt = null;
// DB接続(testデータベースに、ログイン名root,パスワードpasswordの場合)
Class.forName("org.gjt.mm.mysql.Driver");
con = DriverManager.getConnection("jdbc:mysql:///test","root","password");
stmt = con.createStatement();
// SQL(画面から引数para)実行
ResultSet rs = stmt.executeQuery(myForm.getPara());
// 結果をArrayListに
ArrayList<HashMap<String,String>> result
= new ArrayList<HashMap<String,String>>();
while(rs.next()) // 行数分処理
{
HashMap<String,String> map = new HashMap<String,String>();
// 項目数分出力
for(int j = 1 ; j <= rs.getMetaData().getColumnCount() ; j ++)
{
map.put(rs.getMetaData().getColumnName(j),
rs.getString(j));
}
result.add(map);
}
// あとしまつ
stmt.close();
con.close();
// 結果をセッションにいれる
session.setAttribute("result",result);
session.setAttribute("kekka","");
}
catch(Exception e)
{
session.removeAttribute("result");
session.setAttribute("kekka",e.toString());
return mapping.findForward("error");
}
return mapping.findForward("success");
}
}
|