HashMap 使用问题?

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:22:59
我刚刚开始接触HashMap。我从数据库中取得两个数据。
String sql="select sm,zd from mygzbsm where bh='"+bh+"'";
我想把 sm和zd放到HashMap中。当zd等于一个值得时候 ,就读出对应的HashMap的值。我用了:
HashMap map = new HashMap();
map.put(zd,sm);
读取用:
<%if (a1!= 0) {%> <td width="100" align="center"><%String sm1=(String)map.get(a1); out.print(sm1);%></td><%}%>可是输出的都是null。请问是什么原因。好像没存进去。应该怎么弄?

在jdbc中使用的结果集是ResultSet.而不是util中的collection。HashMap里的集合是键值对的形式。
学艺不精,紧供参考:(我运行Ok了!)
<%
try
{
Class.forName("你使用的驱动").newInstance();
}catch(Exception e){}
Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test","数据库的用户名","密码"); //注:这里以jdbc for sql server驱动为例。
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from mygzbsm";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
String s1=rs.getString("sm");
String s2=rs.getString("zd");
Map map=new HashMap();
map.put(s2,s1);
String s=(String)map.get(s2);
%>
<tr>
<td><%=s%></td>
</tr>
<%}%>
如还有问题给我发信息。