Gre*_*sby 3 java mysql resultset
我在从MySql数据库中获取数据时遇到问题.我的代码如下:
try {
Connection con = datasource.getConnection();
Statement stmt = con.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT tittle,date,path " +
"FROM announcement "+
"ORDER BY date");
String tittle=rs.getString("tittle");
String date=rs.getString("date");
String text=rs.getString("path");
if (!rs.isBeforeFirst())
{
out.println("<p>No data !</p>");
}
else
{
out.println("<table class=\"data\">");
out.println("<tr ><td class=\"sectionheader\"> tittle?</td><td class=\"sectionheader\">date</td><td class=\"sectionheader\">text</td></tr>");
while (rs.next()) {
String row="";
row += "<td><a href=\"\"> "+tittle+ "</td>";
row += "<td>" + date + "</td>";
row +="<td>"+text+"</td>";
row +="</tr>";
out.println(row);
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是"java.sql.SQLException: Before start of result set"
我做错了什么小费?
先感谢您.
您可以通过游标访问ResultSet对象中的数据.最初光标指向第一行之前.
while(rs.next()) {
String tittle=rs.getString("tittle");
....
}
Run Code Online (Sandbox Code Playgroud)
更多的是,您的查询可能会返回多行,在这种情况下,您可能希望将结果存储在集合中List<Map<String, String>>,其中列表中的每个条目代表查询结果中的一行,并且映射保存列名称vs列值.