關於這一個jsp程式的錯誤

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

<html>

<head>

<title>Ex09-1</title>

</head>

<body>

<p align = "center" >

新增註冊紀錄

</p>

<%

String JDriver="sun.jdbc.odbc.JdbcOdbcDriver";//用ODBC來設JSP

String connectDB = "jdbc:odbc:Ex09-1";

Class.forName(JDriver);//載入JDBC Driver

Connection con = DriverManager.getConnection(connectDB);//建立資料庫連線

Statement stmt =con.createStatement();

request.setCharacterEncoding("utf-8");

String cid=request.getParameter("cid");

String cpass=request.getParameter("cpasswd");

String cname=request.getParameter("cname");

String csex=request.getParameter("csex");

String caddr=request.getParameter("caddr");

String cmonth=request.getParameter("mm");

if(cid.equals(""))

response.sendRedirect("Ex0901_e.jsp");

else {

String sql_qry = "select * from Ex09 where cid = '" + cid + "';";

if(rs.next())

response.sendRedirect("Ex0901_e");

int mm = Integer.parseInt(cmonth);

String sql_insert = "insert into Ex09(cid,cpass,cname,csex,caddr,cmonth)values('"+cid+"','"+cpass+"','"+cname+"','"+csex+"','"+caddr+"','"+mm+"')";

//匯入Access資料庫

stmt.executeUpdate(sql_insert);

}

stmt.close();

con.close();

%>

--您所輸入的資料如下--

帳號:<%=cid%> <br/>

姓名:<%=cname%> <br/>

性別:<% if (cmonth=="m") out.print("男");else out.print("女"); %> <br/>

住址:<%=caddr%>

</table>

</body>

</html>

已更新項目:

這是他說的錯誤...

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 36 in the jsp file: /Ex0903.jsp

rs cannot be resolved

2 個已更新項目:

33: else {

34: String sql_qry = "select * from Ex09 where cid = '" + cid + "';";

35:

36: if(rs.next())

37: response.sendRedirect("Ex0901_e");

38:

39: int mm = Integer.parseInt(cmonth);

3 個已更新項目:

SAYC :

我剛剛用你的跑~

還是有錯誤 不過錯誤不一樣

org.apache.jasper.JasperException: An exception occurred processing JSP page /Untitled-1.jsp at line 21

4 個已更新項目:

18: String csex = request.getParameter("csex");

19: String caddr = request.getParameter("caddr");

20: String cmonth = request.getParameter("mm");

21: if (cid.equals(""))

22: response.sendRedirect("Ex0901_e.jsp");

23: else {

5 個已更新項目:

我還是有點搞不清楚

String cid=request.getParameter("cid");

   ↑這個的是自己取的嗎? ↑老師怎說是上個網頁裡的?

  

6 個已更新項目:

還有String sql_insert = "insert into Ex09(cid,cpass,cname,csex,caddr,cmonth)values('"+cid+"','"+cpass+"','"+cname+"','"+csex+"','"+caddr+"','"+mm+"')";

第一個跟第二個()的值是哪來的ˊˋ?好讓我確定有沒有打錯。。

2 個解答

評分
  • SAYC
    Lv 5
    1 0 年前
    最佳解答

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

    <html>

    <head>

    <title>Ex09-1</title>

    </head>

    <body>

    <p align="center">新增註冊紀錄</p>

    <%

    String JDriver = "sun.jdbc.odbc.JdbcOdbcDriver";//用ODBC來設JSP

    String connectDB = "jdbc:odbc:Ex09-1";

    Class.forName(JDriver);//載入JDBC Driver

    Connection con = DriverManager.getConnection(connectDB);//建立資料庫連線

    Statement stmt = con.createStatement();

    request.setCharacterEncoding("utf-8");

    String cid = request.getParameter("cid");

    String cpass = request.getParameter("cpasswd");

    String cname = request.getParameter("cname");

    String csex = request.getParameter("csex");

    String caddr = request.getParameter("caddr");

    String cmonth = request.getParameter("mm");

    if (cid.equals(""))

    response.sendRedirect("Ex0901_e.jsp");

    else {

    String sql_qry = "select * from Ex09 where cid = '" + cid

    + "';";

    //start

    ResultSet rs = stmt.executeQuery(sql_qry);

    //end

    if (rs.next())

    response.sendRedirect("Ex0901_e");

    int mm = Integer.parseInt(cmonth);

    String sql_insert = "insert into Ex09(cid,cpass,cname,csex,caddr,cmonth)values('"

    + cid

    + "','"

    + cpass

    + "','"

    + cname

    + "','"

    + csex

    + "','" + caddr + "','" + mm + "')";

    //匯入Access資料庫

    stmt.executeUpdate(sql_insert);

    }

    stmt.close();

    con.close();

    %>

    --您所輸入的資料如下-- 帳號:<%=cid%>

    <br />

    姓名:<%=cname%>

    <br />

    性別:<%

    if (cmonth == "m")

    out.print("男");

    else

    out.print("女");

    %>

    <br />

    住址:<%=caddr%>

    </table>

    </body>

    </html>

    2010-11-08 05:55:37 補充:

    cid的值要看你上一個呼叫的網頁是否有塞值進去

    cid, cpss你沒打錯

    2010-11-08 13:42:22 補充:

    你要去問老師cid是自動產生嗎?還是從表單拿?還有cid是拿來做啥的.來知識問只負責程式語法和寫法,至於程式邏輯只有你和老師才知道

    2010-11-08 13:52:59 補充:

    --您所輸入的資料如下-- 帳號:<%=cid%>-->cid在這裡

    2010-11-08 13:57:16 補充:

    還有你根本沒有form給使用者輸入資料阿.請先

    key好書或資料或相關知識才開始coding. below is a sample link..please study first

    http://marakana.com/blog/examples/java-jsp-login-s...

  • 可是我這一個網頁好像是直接開~

    沒有用別的網頁來呼叫呢@@"

    那該怎麼看呢?

    2010-11-08 13:53:29 補充:

    恩@@" 

    不過禮拜3就要考試了XD" 考試前問老師應該也不會跟我說巴。。

    ------------分 隔 線--------------

    如果我cid是從資料表裡拿的話...

    那 if (cid.equals("")) 那一段迴圈有錯嗎...

    因為~

    他一直說我↑那一句有錯

    可是我沒打錯字阿ˊˋ

    不知道是整個迴圈也錯還是哪裡有問題> < ~

    2010-11-08 14:08:00 補充:

    那個網址裡的範例

    跟我們的某一個例子一樣@@

    不過那一個的例子都沒有錯誤可以成功...

    但這個~~我看我直接找老師問問看好了XD"

    還是謝謝你的回答...我會好好k書的ㄒwㄒ

還有問題?馬上發問,尋求解答。