当我从RIDE运行SQL查询时,它给出了错误

时间:2018-09-06 08:12:33

标签: java sql db2 robotframework

我遇到了这个问题,

当我将SQL查询作为参数发送时,它给出了错误 当我直接在Java程序中使用相同的查询时,效果很好。

我作为参数发送时的MY SQL查询如下

Select RATINGPERIOD from INVESTMENT.I1INVE Where INVESTMENTID = 100

rs = stmt.executeQuery(sqlQery); //    Select RATINGPERIOD from INVESTMENT.I1INVE Where INVESTMENTID = 100

当我直接将其用于我的java程序时,如下所示

try 
        {                                                                        
            // Load the driver
            Class.forName("com.ibm.db2.jcc.DB2Driver");                              
            System.out.println("**** Loaded the JDBC driver");

            // Create the connection using the IBM Data Server Driver for JDBC and SQLJ
            con = DriverManager.getConnection (url, user, password);                 

            // Create the Statement
            stmt = con.createStatement();                                            
            System.out.println("**** Created JDBC Statement object");

            // Execute a query and generate a ResultSet instance
            rs = stmt.executeQuery("Select RATINGPERIOD from INVESTMENT.I1INVE where INVESTMENTID = 100");

            while (rs.next()) {

                delay = rs.getString("RATINGPERIOD");
                System.out.println("size of list ="+delay);

            }
        }

Error log
    com.ibm.db2.jcc.am.SqlException: [jcc][10103][10941][3.62.57] Method executeQuery cannot be used for update. ERRORCODE=-4476, SQLSTATE=null
    at com.ibm.db2.jcc.am.fd.a(fd.java:660)
    at com.ibm.db2.jcc.am.fd.a(fd.java:60)
    at com.ibm.db2.jcc.am.fd.a(fd.java:120)
    at com.ibm.db2.jcc.am.jn.a(jn.java:4129)
    at com.ibm.db2.jcc.am.jn.a(jn.java:2875)
    at com.ibm.db2.jcc.am.jn.a(jn.java:679)
    at com.ibm.db2.jcc.am.jn.executeQuery(jn.java:663)
    at com.profitsoftware.testing.utils.keywords.date.DatabaseSQL.sqlQuery(DatabaseSQL.java:46)
    at com.profitsoftware.testing.utils.keywords.date.DatabaseSQLKeywords.executeSqlQuery(DatabaseSQLKeywords.java:18)com.

确定更多信息,我已将sql query分配给Java程序中的字符串,然后将其与我在java程序中作为参数获取的query(String)进行比较,结果为false。它解释了当查询从RIDE传递到Java程序时可能会有所更改。知道那里会发生什么吗?

在此先感谢您,如果听到一个愚蠢的问题,对于这个编程世界,我是一个新手。

好的,它开始起作用了,实际上我在那里丢失了一些东西,所以输入。我的逻辑本身很好,但是造成问题的是错字

-萨拉

0 个答案:

没有答案