天天看點

JDBC操作資料庫--查詢

 <%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.sql.*" %>

<%!

   String codeToString(String str)   //解決表單送出中文亂碼問題

{   

  String s=str ;

 try

 {

      byte bt[]=str.getBytes("ISO-8859-1"); 

       s=new String(bt);

      return  s;

 }

 catch(Exception e)

  return s;

}

%>

<%

      String sql=null ; //使用引用資料類型一定要指派為null

      String ss=codeToString(request.getParameter("sex")) ;  //轉換表單送出的資料 編碼重新構造 剛開始打開頁面的時候會有null異常是以我們要攔截

     if(ss==null||ss.trim().length()==0)  //如果是空指針或者空字元那麼傳回所有結果  如果是剛打開該頁面那麼ss傳回的是null 我們因該把這個條件放在第一位否則後面的條件執行會處錯誤

         sql=new String("select *  from  userTable");

     else

       sql= new String("select *  from userTable where user_sex = '" +ss.trim() + "'");

<html>

    <head>

        <title>   

         select information by  sex  !

       </title>

    </head>

          <body>

          <%

            Connection c ;

            Statement s ;

            ResultSet r ;

            try

            {

            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;

            }

            catch(ClassNotFoundException e)  //類沒有發現

             out.println(e.toString()) ;

            c=DriverManager.getConnection("jdbc:odbc:testDataBase");

            s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY ) ;

            r=s.executeQuery(sql) ;

            out.print("<form  action=select.jsp  name=form1 method=post >");

            out.print("請選擇要查詢的性别:&nbsp&nbsp") ;

            out.print("<select name=sex>") ;

            out.print("<option value=''>");

            out.print("所有人");

            out.print("</option>");

            out.print("<option value=男 >");

            out.print("男");

            out.print("<option value=女>");

            out.print("女");

            out.print("</select>");

            out.print("&nbsp&nbsp<input type=submit value=送出查詢>") ;

            out.print("</form><br>") ;

            out.print("<table border>") ;

            r.last() ;

            out.print("共有"+ r.getRow()+"行記錄.<br>") ;

            r.beforeFirst() ;

            while(r.next())

            { 

             out.print("<tr>") ;

             out.print("<td  width=22>"+r.getInt(1)+"</td>") ;

             out.print("<td>"+r.getString(2)+"</td>") ;

             out.print("<td>"+r.getString(3)+"</td>") ;

             out.print("<td>"+r.getString(4)+"</td>") ;

             out.print("<td>"+r.getString(5)+"</td>") ;

             out.print("<td>"+r.getString(6)+"</td>") ;

             out.print("<td>"+r.getString(7)+"</td>") ;

             out.print("<td>"+r.getString(8)+"</td>") ;

             out.print("<td>"+r.getString(9)+"</td>") ;

             out.print("</tr>") ;       

            out.print("</table>") ;

            r.close() ;

            c.close() ;

            s.close() ;

            catch(SQLException e)

          %>

         </body>

</html>