Sunday, March 24, 2019

SQL didn't use = after where and ERROR: syntax error at or near "$1"

Selamat datang di blog lulu tentang java netbean code, tutorial ini akan ada dua bahasa :indonesia dan inggris
(Welcome in blog lulu about java netbean code, this tutorial will use 2 languate : bahasa indoneasi and english)

kali ini saya akan membahas tentang bagaimana jika di netbean keluar error seperti dibawah ini :
(this time I will discuss about how if in netbean produce error like below :)
----------------------------------------------------------------------------------
Severe: org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1"
  Position: 74

----------------------------------------------------------------------------------

jangan panik dulu ini karena saya membuat sql seperti dibawah ini :
(don't panic.. this is just because I create sql like below :)
----------------------------------------------------------------------------------

 sql = "SELECT sbudget,sdescription,fgrandtotal "
                    + "FROM genav.mbudget ";
            if (sBudget != null)
                sql += "WHERE sbudget ? ";
            sql += " ORDER BY sbudget ";
            ps = connGENAV.prepareStatement(sql);
            if (sBudget != null)
                ps.setString(1, sBudget);
            rs = ps.executeQuery();

---------------------------------------------------------------------------------

coba perhatikan ternyata saya tidak menggunakan tanda '=' setelah 'WHERE' jadi hanya 'WHERE sbudget ?'
(just pay attention that I didn't use sign '=' after 'WHERE' so the code like this 'WHERE sbudget ?'

saat menggunakan WHERE tidak menggunakan tanda '='
maka akan keluar error seperti dibawah ini
(where use WHERE and didn't use sign '=' will come out error like below)


Severe: org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1"
  Position: 74
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273)
    at sun.reflect.GeneratedMethodAccessor98.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.postgresql.ds.jdbc23.AbstractJdbc23PooledConnection$StatementHandler.invoke(AbstractJdbc23PooledConnection.java:455)
    at com.sun.proxy.$Proxy223.executeQuery(Unknown Source)
    at com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40.executeQuery(PreparedStatementWrapper40.java:642)
    at ui.trans.XCCCheck.getViewBudget(XCCCheck.java:1512)
    at ui.trans.XCCCheck.processRequest(XCCCheck.java:2106)
    at ui.trans.XCCCheck.doGet(XCCCheck.java:2228)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:745)

so jangan lupa tambahkan '=' ya setelah WHERE
(so guys.. don't forget to add '=' after WHERE in your SQL okay...

have a nice coding and nice day..

No comments:

Post a Comment