这段代码究竟有什么有关问题

这段代码究竟有什么问题
public void Getall(String sql,JTextArea jt){
try{
StringBuffer sb=null;
rs=st.executeQuery(sql);
jt.setText("房号 "+"地址 "+"所属省 "+"所属市 "+"所属区 "+"面积 "+"出租状态 "+"价钱 ");
while(rs.next()){
sb.append(n+s1+s2+s3+s4+s+s5+m);
n=rs.getString("房号");
m=rs.getString("价钱");
s=rs.getString("面积");
s1=rs.getString("地址");
s2=rs.getString("所属省");
s3=rs.getString("所属市");
s4=rs.getString("所属区");
s5=rs.getString("出租状态");
jt.append(sb.toString());

}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}

}


我确定 数据库没问题 数据也没问题 报错说sb是空指针

------解决方案--------------------
这句StringBuffer sb=null;
改成
StringBuffer sb=new StringBuffer();

------解决方案--------------------
StringBuffer sb=null;sb赋值为空,所以当然不能调用append()方法啊,按照一楼的必下就可以了