【发布时间】:2014-05-27 01:04:08
【问题描述】:
这里我不能进入 while(rs.next()){.....} 语句。你看,我尝试准备简单的语句,并尝试在 println 中打印单词“data”以检查我是否在 while 语句中,但没有打印任何内容:(
Connection conn = null;
PreparedStatement prepStmt = null;
ResultSet rs = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String connectionUrl = "jdbc:sqlserver://FIO\\SQLEXPRESS;" +
"databaseName=Feedback;integratedSecurity=true";
conn = DriverManager.getConnection(connectionUrl);
//String sqlStmt = "SELECT SubjectName, Semester, Year, TrainerFirstName, TrainerLastName, StudentFirstName,StudentLastName, Answer FROM Feedback.dbo.quest WHERE TrainerFirstName='?' AND TrainerLastName='?' AND Semester=? AND Year=?";
String sqlStmt = "SELECT * FROM Feedback.dbo."+quest;
System.out.println("SQL Statement:\n\t" + sqlStmt);
prepStmt = conn.prepareStatement(sqlStmt);
//prepStmt.setString(1,ffname);
//prepStmt.setString(2, llname);
//prepStmt.setString(3, sem);
//prepStmt.setString(4,yea);
rs = prepStmt.executeQuery(sqlStmt);
while (rs.next()) {
System.out.println(rs.getString(1));
System.out.println("data:"+rs.getString(1) + rs.getInt(2)+rs.getInt(3)+rs.getString(4)+rs.getString(5)+rs.getString(6)+rs.getString(7)+rs.getString(8));
/*String id = rs.getString("id");
String firstName = rs.getString("first_name");
String lastName = rs.getString("last_name");
System.out.println("ID: " + id + ", First Name: " + firstName + ", Last Name: " + lastName);*/
}
} catch (ClassNotFoundException | IllegalAccessException | InstantiationException | SQLException e) {
}
它只打印了这个:
SQL 语句: 从 Feedback.dbo.Question1 中选择 * 绑定变量集之前的预处理语句: SQLServerPreparedStatement:1 绑定变量设置后的预处理语句: SQLServerPreparedStatement:1 构建成功(总时间:20 秒)
看来,while 语句被省略了。
非常感谢。
【问题讨论】:
标签: java sql database-connection resultset