关于Java中的数据库操作问题

来源:互联网 发布:java eclipse怎么安装 编辑:程序博客网 时间:2024/05/29 18:18

1. 数据库查询 

    执行Select语句时,可能会查询到数据库中的好几个字段。

    例如:

String sql = "select top 4 "
                 
+ "news_type_table.news_type_name, "
                 
+ "news_table.news_directory, "
                 
+ "news_table.news_title, "
                 
+ "news_table.news_author, "
                 
+ "news_table.news_release_date "
                 
+ "from news_table, news_type_table "
                 
+ "where news_table.news_type_id = news_type_table.news_type_id "
                 
+ "order by news_table.news_release_date desc";

    这个SQL语句涉及到多个字段的查询。(在组织Select语句时查询的字段已有一个顺序)

    查询完后,返回到结果集里面:

// conn为数据库连接对象
PreparedStatement pstmt = conn.prepareStatement(sql);

ResultSet result 
= pstmt.executeQuery();

    这个时候从结果集里面取数据字段时,要注意查询语句中的字段顺序。否则可能取不出来想要的字段值。

// 列出查询出的所有内容
while (result.next()) {

    System.out.println(
"类型 :" + result.getString("news_type_name"));
    System.out.println(
"标题 :" + result.getString("news_title"));
    System.out.println(
"作者 :" + result.getString("news_author"));
    System.out.println(
"发布日期 :" + result.getString("news_release_date"));

    System.out.println();
}

   如上,这个时候能正常列出所有的查询内容(result.getString()中出现的字段顺序跟Select语句的

        顺序一致)。

while (result.next()) {

    System.out.println(
"类型 :" + result.getString("news_type_name"));
    System.out.println(
"发布日期 :" + result.getString("news_release_date"));
    System.out.println(
"标题 :" + result.getString("news_title"));
    System.out.println(
"作者 :" + result.getString("news_author"));

    System.out.println();
}

    如上,这个时候就不能正常显示所有查询内容(result.getString()中出现的字段顺序跟Select语句的

        顺序不一致)。

 

            这个问题可能跟ResultSet的属性有关,它指向查询结果集。每执行一次操作,结果集的游标(不

知 这个说法对不对)就会向下移动,这样它就不会再取到它前面的数据。

原创粉丝点击