2010-06-09 39 views
0
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 
<%@ page import="java.sql.*" %> 
<%@ page import="java.io.*"%> 
<%@ page import="java.io.File"%> 
<%@ page import="java.util.*"%> 
<%@ page import="java.sql.*"%> 
<%@ page import="java.sql.Blob"%> 
<%@ page import="java.sql.PreparedStatement"%> 
<%@ page import="java.sql.BatchUpdateException"%> 
<%@ page import="javax.servlet.*"%> 
<%@ page import="javax.servlet.http.*"%> 

<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
    <head> 
    <base href="<%=basePath%>"> 

    <title>My JSP 'p.jsp' starting page</title> 

<meta http-equiv="pragma" content="no-cache"> 
<meta http-equiv="cache-control" content="no-cache"> 
<meta http-equiv="expires" content="0">  
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
<meta http-equiv="description" content="This is my page"> 
<!-- 
<link rel="stylesheet" type="text/css" href="styles.css"> 
--> 

    </head> 

    <body> 
    <% 

int activityId = Integer.parseInt(request.getParameter("activityId")); 
String name = request.getParameter("name"); 
String activityType = request.getParameter("activityType"); 
int parentId = Integer.parseInt(request.getParameter("parentId")); 
String description = request.getParameter("description"); 
%> 
<% 
Connection conn=null; 
PreparedStatement pstatement = null; 
try{ 
Class.forName("com.mysql.jdbc.Driver"); 
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/pol","root","1234"); 
Statement st=conn.createStatement(); 

String queryString = "INSERT INTO activity(activityId,name,activityType,parentId,description)" + " VALUES (?, ?, ?, ?, ?)"; 

pstatement = conn.prepareStatement(queryString); 

pstatement.setInt(1, activityId); 
pstatement.setString(2, name); 
pstatement.setString(3, activityType); 
pstatement.setInt(4, parentId); 
pstatement.setString(5, description); 

} 
catch (Exception ex) { 
    out.println("Unable to connect to batabase."); 
} 

finally { 
pstatement.close(); 
conn.close(); 

} 

%> 

    </body> 
</html> 
+0

會發生什麼情況?它是否會失敗並顯示一些錯誤消息? – crazyscot 2010-06-09 12:55:19

+0

他永遠無法確定它,因爲他壓制catch塊中的「ex」而不是打印/拋出它。無論如何,Rup已經把它釘死了。他從來沒有給出執行查詢的命令。 @lehkni:這可能是家庭作業/功課,但這段代碼在現實世界中被認爲是非常糟糕的做法。第1課:不要使用* scriptlets *,而要使用真正的Java類。 – BalusC 2010-06-09 12:57:35

+1

與問題無關,但您可能希望將數據庫代碼移到另一個類中,並調用該類而不是在JSP上使用DB代碼。這將提供更好的可重用性,並使代碼更易於維護和理解。 – 2010-06-09 13:00:45

回答

2

您從未打電話給pstatement.executeUpdate();

0

您正在執行更新:ps.executeUpdate();

相關問題