Java中如何调用JDBC才能够像ADO中的Recordset那样使用?可以不按列的顺序取,可以对某一列多次取值?(50分)

  • 主题发起人 主题发起人 小灰兔
  • 开始时间 开始时间

小灰兔

Unregistered / Unconfirmed
GUEST, unregistred user!
Java中如何调用JDBC才能够像ADO中的Recordset那样使用?
可以不按列的顺序取,可以取某一列的值取多次?
我采用了两种方式,都是必须按照SELECT语句中各列的顺序取之才行,否则抛出异常!
另外,取某一列的值,也只能取一次,如果再取,也会抛出异常!
方式一:
String dbUrl = "jdbc:microsoft:sqlserver://Jack:1433;DatabaseName=RiseInfoBJEC";
String user = "sa";
String password = "12345678";
// Load the driver (registers itself)
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection c = DriverManager.getConnection(
dbUrl, user, password);
Statement s = c.createStatement();
// SQL code:
ResultSet r =
s.executeQuery(
"SELECT IssueUser, Title, Content " +
"FROM RecentNews " );
while(r.next()) {
String str;
str = r.getString("IssueUser");
str = r.getString("Title");
str = r.getString("Content");
}
s.close();
// Also closes ResultSet
上面三个取值的语句,是按照Select的顺序取的,并且只取一次,正确;
如果我不按照顺序取,出错;对一个列取多次,出错!
方式二:
// RiseInfo is a ODBC Source I have configed.
String dbUrl = "jdbc:odbc:RiseInfo";
String user = "sa";
String password = "12345678";
// Load the driver (registers itself)
Class.forName(
"sun.jdbc.odbc.JdbcOdbcDriver");
Connection c = DriverManager.getConnection(
dbUrl, user, password);
Statement s = c.createStatement();
下面的语句同方式一,也是同样的问题。
请问大家原因?
有什么方式,可以让我使用Resultset像使用ADO中的Recordset一样自由?
 
为什么大家光看不回答?
我的另外两个问题“请问孙老师的论坛离线浏览器中使用的Lucene作为全文检索的吗?”“关于Lucene检索数据库的几个问题:”有十几个人看了就是没有一个人回答
 
后退
顶部