PostgreSQL无法找到专栏

时间:2015-06-15 13:20:02

标签: java postgresql

我创建了一个包含4列的数据库(ID_PRODUIT,NOM_PRODUIT,QUANTITE,PRIX)。我试图创建一个允许我使用字符串键搜索Product(我的类)的方法,但是,查询无法识别" NOM_PRODUIT"列,然后转向" NOM_PRODUIT"到" nom_produit"在消息错误中。

     Connection conn = DriverManager.getConnection(url, user, passwd);

     PreparedStatement ps = conn.prepareStatement("SELECT * FrOM produits where NOM_PRODUIT like ?");

     ps.setString(1,"%"+mc+"%");
     ResultSet rs = ps.executeQuery();
     while(rs.next()){
         Produit p=new Produit();System.out.println(rs.getString(2));
         p.setIdProduit(rs.getInt(1));
         p.setNomProduit(rs.getString(2));
         p.setQuantite(rs.getInt(3));
         p.setPrix(rs.getInt(4));

     }
     ps.close();
     conn.close();

我收到此错误:

  org.postgresql.util.PSQLException: ERREUR: la colonne « nom_produit » n'existe pas

这是我的数据库。enter image description here

2 个答案:

答案 0 :(得分:1)

如果问题与列名中的大写和小写有关:可以将列名放在双引号中:

 PreparedStatement ps = 
    conn.prepareStatement("SELECT * FROM produits where \"NOM_PRODUIT\" like ?");

这样名称区分大小写。

答案 1 :(得分:0)

这里

 ps.setString(1,"%"+mc+"%");

你缺少单引号',试试

ps.setString(1,"'%"+mc+"%'");