【问题标题】:adding data to hashmap from database将数据从数据库添加到 hashmap
【发布时间】:2012-09-15 11:38:53
【问题描述】:

您好,我正在创建一个应用程序,我可以在其中将数据存储在购物车模块的 Hashmap 和列表中。但是我想从我的 MS-Access 数据库中获取这些数据。我尝试了以下代码,但它没有编译。请给我指导。

代码:

import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class Program {
    public static void main(String [] args){}

    public static HashMap getProductsAsMap() {
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:pd");
            ResultSet rs = null;
            Statement st = con.createStatement();
            String sql = ("select * from products");
            rs=st.executeQuery(sql);
            while (rs.next()) { 
                HashMap<String, ProductBean> products= new HashMap<String, ProductBean>();
                String name=rs.getString("pname");
                String desc=rs.getString("pdesc");
                String image=rs.getString("pimage");
                products.put("P1", new ProductBean(name,desc,image));
                return products;
            }
            rs.close();
            st.close();
            con.close();
        }
        catch(Exception e){}   
    }

    public static List getProductsAsList() {
        List<ProductBean> products = new ArrayList<ProductBean>();
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:pd");
            ResultSet rs = null;
            Statement st = con.createStatement();
            String sql = ("select * from products");
            rs=st.executeQuery(sql);
            while (rs.next()) { 
                String name=rs.getString("pname");
                String desc=rs.getString("pdesc");
                String image=rs.getString("pimage");
                products.add(new ProductBean(name,desc,image));
            }
            rs.close();
            st.close();
            con.close();
        }
        catch(Exception e){}
        return products;  
    }
}

我收到以下 2 个错误:

【问题讨论】:

  • 答案就在屏幕截图中。找不到符号构造函数。我猜你对编程很陌生!你绝对应该买一些关于 Java 的初学者书籍。
  • 是的,我纠正了这一点,现在它显示缺少退货声明。
  • 感谢大家帮助它现在正常工作

标签: java sql hashmap


【解决方案1】:

您的ProductBean 类没有将三个字符串作为参数的构造函数。

【讨论】:

    【解决方案2】:

    如错误所示,ProductBean 类缺少带有 3 个字符串签名的构造函数 - ProductBean(String, String, String)。

    再次检查这个类以匹配现有的构造函数或添加一个新的构造函数以匹配您的代码。

    【讨论】:

      【解决方案3】:

      应该是这样的:

      products.add(bean)
      

      bean 是ProductBean 的对象 class ProductBean bean = new ProductBean();

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-19
        • 2018-01-22
        • 2017-01-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多