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

<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

1. 数据库查询

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

例如:

Stringsql = " selecttop4 "
+ " news_type_table.news_type_name, "
+ " news_table.news_directory, "
+ " news_table.news_title, "
+ " news_table.news_author, "
+ " news_table.news_release_date "
+ " fromnews_table,news_type_table "
+ " wherenews_table.news_type_id=news_type_table.news_type_id "
+ " orderbynews_table.news_release_datedesc " ;

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

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

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

ResultSetresult
= 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的属性有关,它指向查询结果集。每执行一次操作,结果集的游标(不

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值