改成:
try
{
dbc = new DBConnection();
Statement st = dbc.getConnection().createStatement();
ResultSet rs = st.executeQuery(sbf.toString());
System.out.println(sbf.toString());
while(rs.next())
{

nm.setId(rs.getInt("Id"));
System.out.println(rs.getInt(1));//
nm.setNewsName(rs.getString("newsname"));
nm.setNewsTitle(rs.getString("newstitle"));
nm.setNewsContent(rs.getString("newscontent"));
nm.setNewsDatetime(rs.getString("newsdatetime"));
nm.setMark(rs.getString(""));
nm.setPoint(rs.getInt("point"));
vc.add(nm);
}
rs.close();
                            st.close();
dbc.close();

}
catch(Exception e)
{
System.out.println(e.getMessage());
}

return vc;
}

解决方案 »

  1.   

    maoweihua(渔樵耕读) :
       按照你这样写不行啊.Statement st = dbc.getConnection().createStatement();这句话根本能不过.getConnection()这个方法返回的是void类型的.行不能的.还有一个问题就是我按照自己的写法,把数据写入数据库是可以的,可是为什么取不出数据呢?郁闷ing!~
      

  2.   

    sbf = new StringBuffer(" select * from ");
    sbf.append(NewsMode.TABLE_NAME);
    sbf.append(" where  = '是' order by Id desc  ");你的TABLE_NAME返回的是字符串吗?如果是,改为
    sbf = new StringBuffer(" select * from '");
    sbf.append(NewsMode.TABLE_NAME);
    sbf.append("' where  = '是' order by Id desc  ");
      

  3.   

    TABLE_NAME是字符串的.
    public static String TABLE_NAME = "news";
      

  4.   

    我也来参与讨论。
    首先要确定DB中有满足条件的记录!
    剩下的应该就是sql语句的问题了,有没有可能条件'是'在执行的时候就变成了乱码了呢?我在用oracle数据库的时候就遇到过这样的问题的
      

  5.   

    不会的.
    程序里,我有把这句话打印出来的.System.out.println(sbf.toString());
    然后我把它复制到mysql里运行,运行结果都正常的,能显示数据的.
      

  6.   

    你的sbf先定义为字符串试一下,估计sbf.append是不是加别的转义字符了?先用字符串试一下,String sbf
      

  7.   

    我把这里ResultSet rs = st.executeQuery(sbf.toString());
    改成ResultSet rs = st.executeQuery(" select * from news where  = '是' order by id desc ");
    都不行啊,55~~~~~~~~~~~~~~~````
      

  8.   

    都试了.select * from news where  = 'F' order by id desc
      

  9.   

    你确定DBConnection ,没问题?
      

  10.   

    表NewsMode.TABLE_NAM的第一个字段是不是Integer型。最好确认。
    还有一般不要用select * ,最好用select x,y,z 明确字段。
      

  11.   

    ResultSet取值的时候只能从地一个字段往后去,不能取完2在去取1,你看看你字段的顺序是从1顺序到完的吗在看看字段类型有没有问题