2012-10-10 85 views
1

我有PostgreSQL + PostGIS。如何在java中調用PostgreSQL函數?

我java的我想打電話給這個查詢:

SELECT num,id,mydata, asText(the_geom) FROM filedata 

但得到NullPointerExeption。
我認爲它在這個查詢中嘗試調用函數asText並做錯了。我該怎麼辦?

UPDATE

這是我的代碼:

IndexedContainer container = createContainer("SELECT num,id,mydata, asText(the_geom) FROM filedata"); 

public IndexedContainer createContainer(String SQL) throws SQLException, ClassNotFoundException 
{ 
    Class.forName("org.postgresql.Driver"); 
     Connection con= null; 
     con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgis","postgres","123456"); 


    IndexedContainer container = new IndexedContainer(); 
    String sSQL = SQL; 

    PreparedStatement ps = con.prepareStatement(sSQL); 
////*****//// 
} 
+0

'NullPointerException'永遠不會含糊不清。檢查堆棧跟蹤(如有必要,然後遍歷代碼)以查看空值。然後找出原因。 – keyser

+1

顯示更多代碼。你如何執行SQL查詢? – gefei

+1

您將需要顯示相關的Java代碼。 –

回答

0

最有可能您的問題是在the_geom - 這是表列(除非你不遵循任何的命名標準)。如果您嘗試在Java中構建SQL並將值從Java變量傳遞到SQL,那麼您可以使用查詢參數。
我懷疑你「忘記」你的SQL實際上運行在SQL服務器上的Java變量不可用。

相關問題