JSP データベースへの数回の接続
いつもお世話になっております。
今私は、JSPからデータベース(Access 2003)へデータを追加・検索をしようとしています。
データベースにデータを追加するため、データベースを接続する記述及び追加をする記述を書き、データを追加していきます。
その下の記述にHTMLが入り、HTML文の後に今度はデータベースに検索をかけてデータを取得し、その記述の下に更にHTML文を記述し取り込むといった流れでプログラムを書いております。
■HTML文
■データベース追加文
■HTML文
■データベース検索文
■HTML(データベースからの取得データもいれる)
しかし、データベースへは、追加はされているのですが、検索の記述の部分がまったく読まれておらず、ジャンプされており、どうしても検索ができません。
JSPからデータベースへの接続は初めてですので、わからないことも多く、もしかしたらJSPでは数回のデータベースへの接続はできないのかな?と思いながら、最終的にこちらで伺い参りました。
プログラムが長いため、HTML文を除き、データベースの部分だけ下に記述させていただきます。その記述の中でのこの変数はどこからもってきているのかな?と思われる方もいらっしゃるかと思いますが、しっかり値が入っておりますので心配ございません。
<%@ page import="java.sql.ResultSet"%>
<%@ page import="java.util.*" %>
<%@ page import="javax.servlet.*" %>
<%@ page import="java.sql.SQLException" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.util.Calendar " %>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =null;
con = DriverManager.getConnection("jdbc:odbc:QUIZDB");
Statement sql;
sql = con.createStatement();
Calendar cal = Calendar.getInstance();
Integer nen=cal.get(Calendar.YEAR);
Integer tu=cal.get(Calendar.MONTH)+ 1;
Integer hi=cal.get(Calendar.DATE);
String userName=(String)session.getAttribute("userName");
Integer userId=(Integer)session.getAttribute("userId");
sql.executeUpdate( "INSERT INTO Seiseki(氏名,ID,ジャンル,正解数,クイズ日付)"+"values('"+userName+"','"+userId+"','"+aa+"','"+seikaiten+"','"+nen+"/"+tu+"/"+hi+"')");
sql.close();
%>
<■HTML文がはいります>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection db =null;
db = DriverManager.getConnection("jdbc:odbc:QUIZDB");
String sq = "select * from Seiseki where(氏名= '"+userName+"') and (ID = '"+userId+"')";
Statement st;
st = db.createStatement();
ResultSet res;
res = st.executeQuery(sq);
if(res.next()){
String Name=res.getString(1);
String Id=(String)res.getString(2);
Integer id =Integer.parseInt(Id);
String jyanru=res.getString(3);
String seikai=res.getString(4);
int kazu =Integer.parseInt(seikai);
String hizu=res.getString(5);
}
st.close();
%>
<■HTML文が入り、変数を入れて表示させます>
以上となります。どんな小さなことでも構いませんので、お手数ですがアドバイス宜しくお願い申し上げます。