안녕하세요, jdbc를 사용하여 SQL 데이터베이스에 값을 삽입하려고합니다. 현재 코드는 SQL DB에 연결하고 쿼리 할 수 있습니다. executeupdate를 사용하여 값을 삽입하고 있습니다.이 코드는 오류를주지 않습니다.하지만 실행하기 전과 실행하기 전에 코드를 커밋하지 않아도 SQL DB에 값이 삽입되지 않습니다. 어떻게 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를 사용하고
, 오라클 DB XE 11.2.0. 아파치 바람둥이 7 일식 주노 EE 에디션.
이 질문을하기 전에 ([여기] (http://stackoverflow.com/questions/17318449/jdbc-connecting-with-oracle-11g)) 물어보십시오. 다음에 새로운 질문 대신 기존 질문을 업데이트하십시오. 좀 더 자세한 정보를 제공 할 때 이전 것을 닫도록 투표했습니다. –
좋아, 내가 여기서 새로운 것을 알았어.하지만 거의 6 시간을 낭비하고 도와 줘. –
응용 프로그램 서버의 로그를 확인하고 stacktrace를 인쇄 한 다음 예외를 무시하면 쿼리가 전혀 실행되지 않았다는 것을 의미 할 수 있습니다. –