- ベストアンサー
シンボルを見つけられませんのエラー原因
- Windows 8.1, Java 6でシンボルを見つけられませんエラーが発生しています。
- 参考書通りにプログラムを実行したにもかかわらずシンボルを見つけられませんエラーが発生しています。
- Inquiry.javaの33行目でシンボルを見つけられませんエラーが発生しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Java6のexecuteUpdateメソッドでは、引数にSQL文の配列は指定できないと思います。 シンボルが見つからないというエラーは、SQL文の配列を引数に取るようなexecuteUpdateメソッドが見つからないという意味だと思います。 また、executeUpdateの戻り値はResultSetではなくてintです。 互換性のない型というエラーは、intとResultSetに互換性がないという意味だと思います。 特に戻り値を利用するわけではないなら、次のような感じでよいと思います。 String qry = "INSERT INTO inquiry VALUES ('いとう', '22', '名古屋市', '西区', '企画部', 2)"; // ←配列ではない。 st.executeUpdate(qry); // ←使わないなら戻り値は変数で受けない。 なお、eclipse等の開発環境をお使いになれば、このあたりのバグはプログラム編集の段階で指摘してくれるので便利ですよ。
その他の回答 (1)
- teketon
- ベストアンサー率65% (141/215)
>String[] qry = {"INSERT INTO inquiry VALUES ('いとう', '22', '名古屋市', '西区', '企画部', 2)"}; qryはString[]型の変数なので、 >ResultSet rs = st.executeUpdate(qry); executeメソッドにString[]型の引数qryを渡している >ResultSet rs = st.executeUpdate(qry[0]); とかでいいんじゃないでしょうか。
補足
回答有難うございます。 qry[0] で試しましたが、 Inquiry.java:33: 互換性のない型 検出値 : int 期待値 : java.sql.ResultSet ResultSet rs = st.executeUpdate(qry[0]); と出ています。
補足
回答有難うございます。 提示して頂いたコードで解決できました。 実はエクリプスもインストール済みこっちの方も使うよう心がけます。