2016-04-09 7 views
2

değişken değerine (table.date DAN YIL) EXTRACT karşılaştırılması Ben şu var Java kodu:Aşağıdaki sorguyu kullanarak benim veritabanından <strong>özellikle değişken yıl</strong> için ayda uçuş <code>count(rate)</code> almaya çalışıyorum IntelliJ IDE

:

prepStatement = connection.prepareStatement(query); 
prepStatement.setInt(1, Integer.parseInt(yearTxtField.getText())); 

sayı 1 prepStatement.setInt(...) bir hata söyleyerek ile altı çizili olan tutar

Cannot resolve query parameter 1

Yani, benim sorgum açıkça yanlıştır.

Sorum, hazırlanan deyimi kullanarak, metin alanında değişken yıl girdisi olan tümcenin nerede ayıkla karşılaştırılacağı sorusudur.

DÜZENLEME: Yani, yine de kodu çalıştırmayı denedim, IDE alt çizgisi hatasını göz ardı ederek, her şey iyi çalışıyor ve istediğim sonucu alacağım. (Daha fazla, o hatayla ilgili eğer

[2016-04-09 02:34:09] [42601] ERROR: syntax error at or near "GROUP"
Position: 135

+0

Bekleyin, bu hata mesajı sadece IDE'nizden gelen bir ifadedir. Kodu derlemeye/çalıştırmaya çalıştığınızda ne olur? –

+0

[Göz ardı edilmemesi] 'nin olası yinelenmesi, sorgu parametresinin "IntelliJ'teki hata" çözümlenememesidir (http://stackoverflow.com/questions/29740639/how-to-ignore-cannot-resolve-query-parameter-error-in-intellij – Titus

+0

Tamam, şimdi sonuç kümesini yazdırmaya çalıştım ve açıkçası tüm verilerle düzgün bir şekilde doldurulacak, ancak IDE'de neden bu alt çizgi hatası var? Ve neden, yalnızca sorguyu çalıştırmayı denediğimde, bir hata alıyorum: ... "GROUP" ya da yakınındaki sözdizimi hatası ... – delusionX

cevap

0

Emin değilim ama PostgreSQL'in extract işlev bir double precision döndürür: Doğru tıklama ile IntelliJ yalnız bu sorguyu çalıştırmak ve yürütmek çalışıyorum Ancak, bir hata alırsınız here).

setInt(int parameterIndex, int x) yerine setDouble(int parameterIndex, double x)'u denemek isteyebilirsiniz.

+0

Merhaba, cevabınız için teşekkür ederim, ancak bunu denedim ve hata mesajımla ilgili değil. – delusionX

İlgili konular