2

何が起こるかは私にはまったく理解できないので、ここでも答えを探すことを余儀なくされています。

私はリモートのMySQLサーバーに接続しています.私の問題は、どういうわけか「列が存在しません」という種類のエラーが発生することです.以下で詳しく説明します.

接続した直後に、データベースがクエリに正しく応答するかどうかを確認します。

    st.executeQuery("SET CHARSET latin2"); 
    ResultSet rs = st.executeQuery("SELECT NrKarty, IloscWejsc, OdDnia, DoDnia FROM Karta");
    while (rs.next()) {
        System.out.println(rs.getString(1));
        System.out.println(rs.getInt(2));
        System.out.println(rs.getString(3));
        System.out.println(rs.getString(4));

    }

このような結果が得られます (NrKarty はこのテーブルの主キーです)

5230303030303034443030463644323745
10
2012-12-13
2016-05-12

そして、この結果は完全に良好で、すべてが良好です。主キー (NrKarty) で示される、このテーブルの特定のレコードに関するデータを要求する必要があるときに、問題が始まります。

当然、私のクエリは次のようになります

Statement st = conn1.createStatement();
ResultSet rs = st.executeQuery("SELECT IloscWejsc, OdDnia, DoDnia FROM Karta WHERE NrKarty='"+cardCode+"'");

カードコードはちゃんと書かれています。クエリも問題ありません:

SELECT IloscWejsc, OdDnia, DoDnia FROM Karta WHERE NrKarty='5230303030303034443030463644323745'

phpMyAdmin でクエリを確認したところ、適切な結果が返されました。

しかし、Javaでは次のエラーが発生します:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'NrKarty' in 'where clause'

そして正直なところ、それは私には意味がありません。何か案は?

4

1 に答える 1

1

まあ、私が思ったように、それは単純で、愚かで、私がするすべての間違いにとても似ていました:D、その1つのクエリのすぐ下に、正しくない別のクエリがあり、考えている間にエラーをスローしたものでしたおそらく、コンパイル結果をもっと注意深く見ていれば、それはわかっていたでしょう。申し訳ありません。

正しいクエリは次のようになります (別のテーブルで、エラーをスローしたテーブル)

SELECT Zajecie_idZajecia FROM KartaZajecie WHERE Karta_NrKarty='5230303030303034443030463644323745'
于 2012-12-22T22:32:46.340 に答える