竹形誠司 ブログ
ご質問    »トピック一覧
掲示板へのスパムが多いため、「ご質問」のコーナーはユーザー登録制とさせていただきました。お手数ですが、上の「新規ユーザーの登録」メニューより登録をお願いします。
帳票Web
アプリケーション

受注開発始めました
詳しくは こちら
竹形 誠司 著/ラトルズ刊
JSP帳票アプリケーション実践開発入門
JSP帳票アプリケーション
実践開発入門

JSP業務アプリケーション短期開発入門
JSP業務アプリケーション
短期開発入門

Java+MySQL+Tomcatで始めるWebアプリケーション構築入門
Java+MySQL+Tomcatで始めるWebアプリケーション構築入門

Java+MySQL+Tomcatで作る掲示板とブログ
Java+MySQL+Tomcatで作る
掲示板とブログ
IndexOutOfBoundsExceptionエラー(174ページ)
by タタさん[wateryamy]
竹形様

はじめましてタタと申します。
Java+MySQL+Tomcatで始めるサーバアプリケーション構築入門を購入させていただきました。

メールでも質問させていただきましたが、掲示板を見たところこの情報がなかったのでこちらにも記載させてもらいます。
添付のCDに含まれるJDBCの「InsertTest.java」を実行すると下記のようなエラーになってしまいます。

―ファイルの内容―

――――――――――――――――――――――――――――――――――――――――――――――――

import java.sql.*;
class
InsertTest{
public static void main(String[] args){
  Connection conn =null;
  Statement stmt =null;
  try {
  String strName = args[0];
  Class.forName("com.mysql.jdbc.Driver");
  String strConn="jdbc:mysql://localhost/jamyto"
    +"?user=Mulder&password=TrustNo1"
    +"&useUnicode=true&characterEncoding=cp932";
  conn =DriverManager.getConnection(strConn);
  stmt = conn.createStatement();
  String strSql="INSERT INTO author(name) values('"+strName+"')";
  int result= stmt.executeUpdate(strSql);
  System.out.println(result + "件のレコードを追加しました");
  }catch (Exception e) {
  e.printStackTrace ();
  }finally{
  try{stmt.close();}catch(SQLException e){e.printStackTrace();}
  try{conn.close();}catch(SQLException e){e.printStackTrace();}
  }
}
}

――――――――――――――――――――――――――――――――――――――――――――――――

―エラー内容―

c:\jamyto\JDBC>java
InsertTest
java.lang.ArrayIndexOutOfBoundsException: 0
        at InsertTest.main(InsertTest.java:7)
Exception in thread "main" java.lang.NullPointerException
        at InsertTest.main(InsertTest.java:20)

これは何か設定が足りないのでしょうか?配列のエラーということですが、String
strName = args[0];ってところが問題なんでしょうか?

お時間があるときで結構です。原因をご教授願えませんでしょうか?
何卒よろしくお願いします。
投稿:タタさん[wateryamy]/2011年 03月 10日 10時 59分 /更新:2011年 03月 10日 11時 00分
RE:IndexOutOfBoundsExceptionエラー(174ページ)
by 竹形 誠司[takegata]
竹形です。こんにちは、
メールでも返信しましたが、こちらにもコメントします。
args[0]にはコマンドラインで指定した最初の引数が入ります。
引数がひとつも指定されていないとIndexOutOfBoundsExceptionになります。

c:\jamyto\JDBC>java InsertTest test
のように、最後に引数を付けて実行してみてください。
投稿:竹形 誠司[takegata]/2011年 03月 10日 11時 04分 /更新:2011年 03月 10日 11時 05分
RE:IndexOutOfBoundsExceptionエラー(174ページ)
by タタさん[wateryamy]
引数を指定して実行したところ、エラーはなくなり引数のデータがデータベースに登録されました。
基本的な質問で申し訳ありません。

ありがとうございました。
投稿:タタさん[wateryamy]/2011年 03月 10日 13時 07分 /更新:2011年 03月 10日 13時 08分