从 DB2 中的表中获取值

Posted

技术标签:

【中文标题】从 DB2 中的表中获取值【英文标题】:Getting values from table in DB2 【发布时间】:2016-12-06 00:46:42 【问题描述】:

我想使用 db2 从表中获取值并打印出结果。

这是我尝试使用的代码:

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

public class connection 
    public static void main(String[] argv) 
        try 
            Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
        
        catch (ClassNotFoundException e) 
            System.out.println("Please include Classpath  Where your DB2 Driver is located");
            e.printStackTrace();
            return;
        
        System.out.println("DB2 driver is loaded successfully");
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rset=null;
        boolean found=false;
        try 
            conn = DriverManager.getConnection("jdbc:db2:sabarish","db2admin","Murugasaranam");
            if (conn != null)
            
                System.out.println("DB2 Database Connected");
            
            else
            
                System.out.println("Db2 connection Failed ");
            
            pstmt=conn.prepareStatement("SELECT * FROM SYSCAT.COLUMNS WHERE TABSCHEMA= 'STD' AND TABNAME= 'inventory'");
            rset=pstmt.executeQuery();
            if(rset!=null)
            

                while(rset.next())
                
                    found=true;
                    System.out.println("Class Code: "+rset.getString("clcode"));
                    System.out.println("Name: "+rset.getString("name"));
                
            
            if (found ==false)
            
                System.out.println("No Information Found");
            
         catch (SQLException e) 
            System.out.println("DB2 Database connection Failed");
            e.printStackTrace();
            return;
        
    


它只打印列名。除了列名,我可以使用什么查询语句来获取结果? db2 select * from store.inventory 似乎也没有效果。

【问题讨论】:

无论如何我都不是 DB2 专家,但是为什么您在 JDBC 查询中省略了数据库名称? 有什么例外?究竟是什么问题?不工作是什么意思? @TimBiegeleisen 我在网上看到的示例遵循这种格式。我自己对此很陌生。我今天才开始使用 DB2。 @javaguy 它不会打印出这些值。它只是给出列名。 上面的代码只是一个例子。我只关注查询语句。我试图找出如何使用 db2 查询类似于该示例的数据库。 'db2 select * from store.inventory' 和 `SELECT * FROM SYSCAT.COLUMNS WHERE TABSSCHEMA= 'STD' AND TABNAME= 'inventory' 是主要关注点。 【参考方案1】:

试试select * from STD.inventory

【讨论】:

以上是关于从 DB2 中的表中获取值的主要内容,如果未能解决你的问题,请参考以下文章

从 DB2 中的表中删除重复项

从 MS Access 中的表中获取自动编号字段值

如何从Lua中的表中获取值?

从具有特定值的表中获取列名

如何从 DB2 将所有列值作为 xml 属性返回?

如何从 db2 中的现有表中获取 CREATE TABLE 语句?