[英]adding data to hashmap from database
您好,我正在创建一个应用程序,可以在其中将数据存储在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个错误,如下所示:
您的ProductBean
类没有使用三个字符串作为参数的构造函数。
如错误所示,类ProductBean
缺少带有3个字符串的签名的构造函数ProductBean(String, String, String)
。
再次检查该类以匹配现有的构造函数,或在此处添加一个新的以匹配您的代码。
应该是这样的:
products.add(bean)
bean是ProductBean
类的对象ProductBean bean = new ProductBean();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.