[pgsql-jp: 26362] executeUpdate()から戻ってこない

森岡 郁子 nokihara @ fecdev.furuno.co.jp
2002年 6月 13日 (木) 13:25:09 JST


はじめまして、森岡と申します。

現在、JDBCを利用してpostgreSQLにアクセスできるようなアプレットを作成しようとしてい
ます。
サンプルプログラムを作成したのですが、executeUpdate()を実行するとこのメソッドから
ぬけてきていないような現象になっているような感じです。

なにぶん、Postgresql、Javaも初心者ですので、どうしたらよいものかわかりません。
どなたかご教授願えませんでしょうか。
よろしくお願いします。

---------------------------------------------------------------------------------
環境
 Linux     : Laser5 7.2exp
  Postgresql: 7.2
  sdk       : 1.3.1(j2sdk-1_3_1_03-linux-i386-rpm.binのパッケージ版を使用
---------------------------------------------------------------------------------
HTMLファイル
  <html>
  <head>
  <title></title>
  </head>
  <body>
  <applet code="sample.class" archive=postgresql.jar" width=320 height=480>
  </applet>
  <hr>
  <br>
  <a href="../index.html">TOP PAGE</A><p>
  </body>
  </html>
---------------------------------------------------------------------------------
Java
import java.sql.*;
import java.awt.*;
import java.applet.Applet;

public class sample extends Applet {
    public  void    paint( Graphics g ) {

        String driver = "org.postgresql.Driver";
        String url    = "jdbc:postgresql://hdevp423.fecdev.furuno.co.jp/hellodb";
        String user = "morioka";
        String passwd = "";
        try{
            Class.forName(driver);
            Connection con = DriverManager.getConnection(url,user, passwd );
            Statement st = con.createStatement();
            g.drawString( "clear createStatement()", 0, 10 ); <--- 表示される

            //Create table: employee
            st.executeUpdate( "CREATE TABLE employee( EMPNO CHAR(6),  FIRSTNAME
VARCHAR(12) )" );
            g.drawString( "clear executeUpdate()", 0, 20 );  <--- 表示されない
しかし、テーブルemployeeは作成されている。
これ移行の処理は何もされない。
ここでいきずまっています。

            g.drawString("***Table: employee created",0, 30);

            //Add records to employee
            st.executeUpdate("INSERT INTO employee VALUES ('000000','morioka')");
            st.executeUpdate("INSERT INTO employee VALUES ('000001','kitajima')");
            g.drawString("***Two records added", 0, 40);

            //Query and display results
            ResultSet rs = st.executeQuery("SELECT * FROM employee");
            g.drawString("***Results from table employee : ", 0, 50);
            while ( rs.next() ){
                g.drawString("EMPNO= " + rs.getString(1) + ",", 0, 60 );
                g.drawString(" FIRSTNAME= " + rs.getString(2), 0, 70 );
            }

            //Remvove table: employee  //Step 7
            st.executeUpdate("Drop table employee");
            g.drawString("***Table: employee deleted ", 0, 60 );

            rs.close();
            st.close();
            con.close();
        }catch( SQLException sqlEx ) {
		<----- この例外出力は何も表示されません。
            while( sqlEx != null ){
                g.drawString("SQLERROR:", 0, 70 );
                g.drawString( "  ErrorCode: " + sqlEx.getErrorCode(), 0,  80 );
                g.drawString( "  SQLState : " + sqlEx.getSQLState(),  0,  90 );
                g.drawString( "  Message  : " + sqlEx.getMessage(),   0, 100 );
                g.drawString( "  Vendor   : " + sqlEx.getErrorCode(), 0, 110 );
                sqlEx = sqlEx.getNextException();
            }
        }catch (Exception ex){
            ex.printStackTrace();
        }
    }
}
---------------------------------------------------------------------------------
morioka @ fecdev.furuno.co.jp

---------------------------------------------------------------
古野電気( 株 )  舶用機器事業部  開発部  ソフトウェア課
 
  森岡  郁子
 
〒662-8580 西宮市芦原町9-52
TEL (0798)63-1147  FAX 0798(64)6302
e-mail address morioka @ fecdev.furuno.co.jp, nokihara @ fecdev.furuno.co.jp



pgsql-jp メーリングリストの案内