远程MySQL与java忽略列

时间:2012-12-22 21:10:41

标签: mysql jdbc

我再次被迫在这里寻求答案,因为所发生的事情对我来说没有任何意义,也许你们会知道发生了什么。

我正在连接远程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'

老实说,这对我来说没有任何意义,也许有人会更聪明地得到它。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

嗯,就像我想的那样,它很简单,愚蠢,与我所犯的所有错误相似:D,在一个查询的正下方,我有另一个不正确的错误,它是那个抛出错误的错误虽然我认为这是另一个,但也许如果我更仔细地看待编译结果,我会知道,对不起那些人。

正确的查询应该如下所示(在另一个表中,抛出错误的那个)

SELECT Zajecie_idZajecia FROM KartaZajecie WHERE Karta_NrKarty='5230303030303034443030463644323745'