mysql before start of result set_java application 异常Before start of result set

本文档解析了一个Java程序在尝试从MySQL数据库获取数据时遇到的异常,重点在于解决`SQLException: Before start of result set`的问题,展示了如何检查并修复ResultSet未正确初始化的问题。

packagesql;importjava.sql.*;publicclassDBConnection{privatefinalStringDriverName="com.mysql.jdbc.Driver";privatefinalStringURL="jdbc:mysql://localhost:3306/csms";privatef...

package sql;

import java.sql.*;

public class DBConnection {

private final String DriverName="com.mysql.jdbc.Driver";

private final String URL="jdbc:mysql://localhost:3306/csms";

private final String name="root";

private final String pwd="111111";

public Connection conn;

public Connection getConn() throws ClassNotFoundException, SQLException{

Class.forName(DriverName);

conn=DriverManager.getConnection(URL, name, pwd);

return conn;

}

public void close() throws SQLException{

conn.close();

}

static public void main(String []args) throws SQLException, ClassNotFoundException{

StringBuffer strSQL=new StringBuffer();

strSQL.append("select * from Users ");

strSQL.append("where Login_ID='2' and passwd='222'");

DBConnection db=new DBConnection();

Connection conn=db.getConn();

PreparedStatement st=conn.prepareStatement(strSQL.toString());

ResultSet rs=st.executeQuery();

System.out.println(rs.getString("Name"));

}

}

异常

Exception in thread "main" java.sql.SQLException: Before start of result set

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)

at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:841)

at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5650)

at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5570)

at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5610)

at sql.DBConnection.main(DBConnection.java:28)

求救啊,想死了 不知道为什么报错 rs 不为空

找了好久了

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值