当前位置: 首页 > 知识库问答 >
问题:

java.sql.:未知列'id'在'哪里条款'

沃宇
2023-03-14

不好意思,这是我第一次在这个平台上提问。

我正在用Java生成一个代码,以便能够在数据库中进行查询,但当我用select*发送一个调用时,我得到以下错误:

java.sql.SQLSyntaxErrorException: Unknown column 'id' in 'where clause'

我不知道正确的语法必须是什么,这样它才不会产生那个错误。需要注意的是,我使用的是MySQL版本8.0.2,以防这很重要。我附上代码中给我带来问题的部分。非常感谢,希望你能帮助我。

public Cliente buscarCliente(int id) {
    Cliente c = new Cliente();
    String sql = "select * from Cliente where id = ? limit 1";
    PreparedStatement stm = null;
    Connection con = Conexion.init();
    ResultSet rs = null;
    
    try {
        stm = con.prepareStatement(sql);
        stm.setInt(1, id);
        rs = stm.executeQuery();
        while(rs.next()) {
            c.setClienteID(rs.getInt("ClienteID"));
            c.setClienteNombre(rs.getString("ClienteNombre"));
            c.setClienteDirección(rs.getString("ClienteDireccion"));
            c.setClienteRFC(rs.getString("ClienteRFC"));
            c.getFechaNac(rs.getDate("FechaNac"));
        }
        rs.close();
        stm.close();
        
    } catch (SQLException ex) {
        Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
    return c;
}

共有2个答案

姜乐家
2023-03-14

我遇到了同样的例外。我想我能成功。我是这样做的。

您应该将表Clienteid的数据类型设置为INT,因为显然在Java中,当两者都是整数数据类型时,比较子句中的条件。

郑宏朗
2023-03-14

请请求使用desc Cliente检查表列以验证列名。根据sql异常,Cliente表中不存在列id。

 类似资料:
  • 当我想更新数据,和laravel仍然显示列ID,但我不使用列ID在我的数据库,我已经改变了控制器 这是我的移民局 这是我的模型 这是我的控制器,没有任何请求或存储来'id' 这是视图editbarang.blade.php 我得到了这样的错误 SQLSTATE[42S22]:未找到列:1054“where子句”中的未知列“id”(SQL:updateset=Barang 02,=2019-06-2

  • 问题内容: 我有一个包含大量单词的数据库,但是我只想选择那些字符长度等于给定数字的记录(在示例情况3中): 但这不起作用…有人可以向我显示正确的查询吗? 问题答案: 抱歉,我不确定您在谈论哪个SQL平台: 在MySQL中: 在MSSQL中 LENGTH()(MySQL)或LEN()(MSSQL)函数将在您可以在WHERE子句中用作条件的列中返回字符串的长度。 编辑 我知道这确实很老,但是我想扩大答

  • 问题内容: 我收到此错误: 无法运行程序“ /usr/lib/jvm/java-1.7.0-openjdk-i386/bin/java”(在目录“ /home/sergiy/.AndroidStudioPreview/system/compile-server”中):error = 2,否这样的文件或目录 我删除所有JDK(打开和其他)后,就会发生这种情况。在我从官方站点安装Oracle JDK之

  • 在javax中输入if条件的位置。swing我正在创建一个注册表格,希望在表格中添加以下条件:•姓名:不能少于3个字母。•地址1和地址2:两个地址不应该相同年龄:不少于18岁身高:不低于130重量:不少于30,但我不知道在哪里进入if状态

  • 如果我试图在不调用构造函数的情况下创建映射,则该对象不可用: 出于好奇,我想知道条目存储在哪里,但构造函数似乎没有添加属性: 你知道吗?

  • 问题内容: 我想使用插入查询来检索表中的最新更新值。 这些是我的sql表中的数据类型。 数据类型: Java代码 堆栈跟踪 问题答案: 您需要致电: