2014-02-12 25 views
0

我编写了一个java类来从Xpage中的Mysql数据库获取值。该代码是,在X页面中使用java缺少某些内容以获取值的值

package com.vijay; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

public class Test { 

    String name; 
    String caty; 
    float price; 
    private Connection con; 
    private Statement st; 
    private ResultSet rs; 

    public String test(){ 
     return "This is a class with just a single method"; 
    } 

    public Test(){ 
    } 

    public void db(){ 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      con=DriverManager.getConnection("jdbc:mysql://localhost:3306/vijay","root",""); 
      st=con.createStatement(); 
      st.executeQuery("select * from prodet;"); 
     } catch (ClassNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (SQLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     this.getMethod(); 
    } 

    public void getMethod(){ 
      try { 
       while(rs.next()){ 
        name=rs.getString("name"); 
        price=rs.getFloat("price"); 
        caty = rs.getString("caty");     
       } 
       con.close(); 
       st.close(); 
      } catch (SQLException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    } 

我把一个标签页面和计算其价值与SSJS

var v = new com.vijay.Test(); 
v.db(); 
v.getMethod(); 
return v.name; 

即使我把在构造这两个方法了。但不起作用。

我在哪里错过?

+0

您的ResultSet是否包含任何结果?也就是说,你的rs.next()是否会返回true?另一件事,如果你把你的SSJS代码包装到try..catch块中,你会得到任何错误消息吗? –

+0

Ya它返回了我在catch块(在ssjs中)给出的语句。 – VijayaRagavan

+0

我没有想到这个朋友:将值st.execute()赋值给结果集对象。它应该是rs = st.execute(查询); – VijayaRagavan

回答

0

我想你必须声明你的字段namepublic

public class Test { 
    public String name; 

或者更好,创建一个getter函数:

public class Test { 
    private String name; 
    public String getName() { 
    return name; 
    } 

,然后改变你的SSJS代码return v.getName()

顺便说一句,在扩展库(JDBCRowSet和JDBCQuery)中有两个数据源可能是你感兴趣的。

+0

没有Jdbc代码就可以正常工作,但只有在使用jdbc代码时才会失败。这是一个被揭穿的人。 – VijayaRagavan

相关问题