您好,我試圖使用jdbc將值插入到SQL數據庫中。當前的代碼能夠連接和查詢sql數據庫。我正在使用executeupdate來插入值。這個代碼沒有給出任何錯誤。但是值並沒有被插入到SQL DB中,即使我在執行之前和之後累積了代碼。我怎樣才能將值插入到數據庫中?插入的行沒有通過JDBC在數據庫中更新
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import oracle.jdbc.driver.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Servlet1 extends HttpServlet {
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
String p1=request.getParameter("param1");
String p2=request.getParameter("param2");
String p3=request.getParameter("param3");
String p4=request.getParameter("param4");
String p5=request.getParameter("param5");
String sql="INSERT INTO EMPLOYEES (Id,Name,Post,Salary,Location) VALUES('" + p1 + "','" + p2 + " ','" + p3 + "','" + p4 + " ','" + p5 + " ')";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException ex)
{
ex.printStackTrace();
}
Connection con=null;
Statement stmt=null;
try
{
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/XE","test","Gari!2563");
stmt=con.createStatement();
stmt.executeUpdate(sql);
con.setAutoCommit(true);
}
catch(SQLException ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(stmt!=null)
{
stmt.close();
stmt=null;
}
}
catch(SQLException ex)
{
ex.printStackTrace();
}
try
{
if(con!=null)
{
con.close();
con=null;
}
}
catch(SQLException ex)
{
ex.printStackTrace();
}
}
PrintWriter out = response.getWriter();
out.println("done");
}
}
我使用jdk1.7,Oracle數據庫XE 11.2.0。 Apache tomcat 7 eclipse juno EE版。
您在([here](http://stackoverflow.com/questions/17318449/jdbc-connecting-with-oracle-11g))之前詢問過此問題。下次請更新現有問題,而不是要求提供新問題。我已經投票關閉了舊的,因爲你在這裏提供了更多的細節。 –
好吧,我會告訴你,我在這裏新的dat.But幫助我與這浪費了近6個小時。 –
你是否檢查過你的應用服務器的日誌,你正在打印堆棧跟蹤,然後忽略這個異常,這可能意味着你根本沒有執行任何查詢 –