为什么whlie(rs.next())中的值在外面取不到??

来源:百度知道 编辑:UC知道 时间:2024/06/27 14:38:54
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*,java.util.*"%>
<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Lomboz JSP</title>
</head>
<body bgcolor="#FFFFFF">

<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=gezhicheng"; //gezhicheng为你的数据库的
String user="sa";
String password="";
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

int month,day,hour,today,select,total;
String time;
GregorianCalendar calendar=new Gregor

因为ResultSet里面的指针是默认指向第一行记录之前的,所以必须要使用rs.next()将指针移到第一行记录。today如果报未初始化的话,你就在声明变量的时候给个值嘛,空值都可以撒。而且你可以看看给today赋值的rs是否取到了值,很有可能是没取到,所以报未初始化。把sql语句直接在数据库上运行一下看看。

因为 ,只有指定了是哪条记录才能对数据进行操作,
rs.next() 指定了一条记录;
当然也有其他函数指定记录

你可以在while之外定义一个变量,在while内将值赋给这个变量,然后就可以在while外使用这个变量了

rs.next()指向记录