• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シンボルを見つけられませんのエラー原因)

シンボルを見つけられませんのエラー原因

このQ&Aのポイント
  • Windows 8.1, Java 6でシンボルを見つけられませんエラーが発生しています。
  • 参考書通りにプログラムを実行したにもかかわらずシンボルを見つけられませんエラーが発生しています。
  • Inquiry.javaの33行目でシンボルを見つけられませんエラーが発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • yossy_kt
  • ベストアンサー率50% (103/203)
回答No.2

Java6のexecuteUpdateメソッドでは、引数にSQL文の配列は指定できないと思います。 シンボルが見つからないというエラーは、SQL文の配列を引数に取るようなexecuteUpdateメソッドが見つからないという意味だと思います。 また、executeUpdateの戻り値はResultSetではなくてintです。 互換性のない型というエラーは、intとResultSetに互換性がないという意味だと思います。 特に戻り値を利用するわけではないなら、次のような感じでよいと思います。 String qry = "INSERT INTO inquiry VALUES ('いとう', '22', '名古屋市', '西区', '企画部', 2)"; // ←配列ではない。 st.executeUpdate(qry); // ←使わないなら戻り値は変数で受けない。 なお、eclipse等の開発環境をお使いになれば、このあたりのバグはプログラム編集の段階で指摘してくれるので便利ですよ。

KAIJI-000
質問者

補足

回答有難うございます。 提示して頂いたコードで解決できました。 実はエクリプスもインストール済みこっちの方も使うよう心がけます。

その他の回答 (1)

  • teketon
  • ベストアンサー率65% (141/215)
回答No.1

>String[] qry = {"INSERT INTO inquiry VALUES ('いとう', '22', '名古屋市', '西区', '企画部', 2)"}; qryはString[]型の変数なので、 >ResultSet rs = st.executeUpdate(qry);  executeメソッドにString[]型の引数qryを渡している >ResultSet rs = st.executeUpdate(qry[0]);  とかでいいんじゃないでしょうか。

KAIJI-000
質問者

補足

回答有難うございます。 qry[0] で試しましたが、 Inquiry.java:33: 互換性のない型 検出値 : int 期待値 : java.sql.ResultSet ResultSet rs = st.executeUpdate(qry[0]); と出ています。