SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

JAVA Servlet、JSP + PostgreSQL 編2 - JDBC、レコード追加、オートコミット解除

■レコード追加、オートコミット解除(Servlet)

// test.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;
import java.sql.*;

public class test extends HttpServlet {

  public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {

    String drv = "org.postgresql.Driver";
    String dsn = "jdbc:postgresql://localhost:5432/sak?user=sak&password=sak";
    Connection cn = null;
    Statement st = null;
    ResultSet rs = null;

    // コンテンツタイプ指定
    res.setContentType("text/html; charset=SJIS");

    // HTML ヘッダ出力
    PrintWriter rw = res.getWriter();
    rw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">");
    rw.println("<HTML>");
    rw.println("<HEAD>");
    rw.println("<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">");
    rw.println("<TITLE>JAVA Servlet - PostgreSQL JDBC Test</TITLE>");
    rw.println("</HEAD>");
    rw.println("<BODY>");
    rw.println("<P>JAVA Servlet - PostgreSQL JDBC Test</P>");

    // PostgreSQL JDBC ドライバロード
    try {
      Class.forName(drv);
    } catch (Exception e) {
      rw.println("<P>JDBC ドライバロードエラー<BR>" + e.toString() + "</P>");
    }

    // PostgreSQL JDBC 接続
    try {
      cn = DriverManager.getConnection(dsn);
    } catch (Exception e) {
      rw.println("<P>JDBC 接続エラー<BR>" + e.toString() + "</P>");
    }

    // オートコミット解除
    try {
      cn.setAutoCommit(false);
    } catch (Exception e) {
      rw.println("<P>オートコミット解除エラー<BR>" + e.toString() + "</P>");
    }

    // PostgreSQL JDBC ステートメント作成
    try {
      st = cn.createStatement();
    } catch (Exception e) {
      rw.println("<P>JDBC ステートメント作成エラー<BR>" + e.toString() + "</P>");
    }

    // PostgreSQL JDBC レコード追加
    try {
      int ct = 0;
      int i;
      for (i = 1; i <= 10; i++) {
        ct += st.executeUpdate("insert into testm values ('x001', 1, 2, 3)");
        ct += st.executeUpdate("insert into testm values ('x002', 10, 20, 30)");
        ct += st.executeUpdate("insert into testm values ('日本語1', 1, 2, 3)");
        ct += st.executeUpdate("insert into testm values ('日本語2', 1, 2, 3)");
        ct += st.executeUpdate("insert into testm values ('日本語3', 1, 2, 3)");
        cn.commit();
      }
      // PostgreSQL 更新件数表示
      rw.println("<P>count = " + ct + "</P>");
    } catch (Exception e) {
      rw.println("<P>JDBC レコード追加エラー<BR>" + e.toString() + "</P>");
    }

    // PostgreSQL JDBC ステートメントクローズ
    try {
      st.close();
    } catch (Exception e) {}

    // PostgreSQL JDBC 接続クローズ
    try {
      cn.close();
    } catch (Exception e) {}

    // HTML テイル出力
    rw.println("</BODY>");
    rw.println("</HTML>");

  }

}

■レコード追加、オートコミット解除(JSP)

<%@ page import="java.util.*,java.sql.*;" contentType="text/html; charset=Shift_JIS"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>JAVA Server Page(JSP) - PostgreSQL JDBC Test</TITLE>
</HEAD>
<BODY>
<P>JAVA Server Page(JSP) - PostgreSQL JDBC Test</P>
<%
  String drv = "org.postgresql.Driver";
  String dsn = "jdbc:postgresql://localhost:5432/sak?user=sak&password=sak";
  Connection cn = null;
  Statement st = null;
  ResultSet rs = null;

  // PostgreSQL JDBC ドライバロード
  try {
    Class.forName(drv);
  } catch (Exception e) {
    out.println("<P>JDBC ドライバロードエラー<BR>" + e.toString() + "</P>");
  }

  // PostgreSQL JDBC 接続
  try {
    cn = DriverManager.getConnection(dsn);
  } catch (Exception e) {
    out.println("<P>JDBC 接続エラー<BR>" + e.toString() + "</P>");
  }

  // オートコミット解除
  try {
    cn.setAutoCommit(false);
  } catch (Exception e) {
    out.println("<P>オートコミット解除エラー<BR>" + e.toString() + "</P>");
  }

  // PostgreSQL JDBC ステートメント作成
  try {
    st = cn.createStatement();
  } catch (Exception e) {
    out.println("<P>JDBC ステートメント作成エラー<BR>" + e.toString() + "</P>");
  }

  // PostgreSQL JDBC レコード追加
  try {
    int ct = 0;
    int i;
    for (i = 1; i <= 10; i++) {
      ct += st.executeUpdate("insert into testm values ('x001', 1, 2, 3)");
      ct += st.executeUpdate("insert into testm values ('x002', 10, 20, 30)");
      ct += st.executeUpdate("insert into testm values ('日本語1', 1, 2, 3)");
      ct += st.executeUpdate("insert into testm values ('日本語2', 1, 2, 3)");
      ct += st.executeUpdate("insert into testm values ('日本語3', 1, 2, 3)");
      cn.commit();
    }
    // PostgreSQL 更新件数表示
    out.println("<P>count = " + ct + "</P>");
  } catch (Exception e) {
    out.println("<P>JDBC レコード追加エラー<BR>" + e.toString() + "</P>");
  }

  // PostgreSQL JDBC ステートメントクローズ
  try {
    st.close();
  } catch (Exception e) {}

  // PostgreSQL JDBC 接続クローズ
  try {
    cn.close();
  } catch (Exception e) {}
%>
</BODY>
</HTML>

■JAVA Servlet、JSP + PostgreSQL 編資料
■JAVA Servlet、JSP + Oracle9i 編資料
■JAVA Servlet、JSP 基礎編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2024 Y.SAK