本程序正在从数据库中检索数据。我需要为我的程序使用字符串变量。但是当我在运行程序后将ResultSet字符串值放入字符串变量并显示'java.sql.SQLException: Before start of result set'
时。
这是我的代码:
try{
// for database connection
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/email_auto_responder","root","");
Statement stmt=con.createStatement();
ResultSet EmailAccounts = stmt.executeQuery("SELECT * FROM `clemailaccounts`");
String hostSubtract = EmailAccounts.getString(2).substring(EmailAccounts.getString(2).indexOf("@"));
String partiallyCompanyName = hostSubtract.replace("@", "");
String companyName = partiallyCompanyName.replace(".com", "");
while(EmailAccounts.next()) {
System.out.println(EmailAccounts.getInt(1)+" "+EmailAccounts.getString(2)+" "+ companyName +" "+EmailAccounts.getString(4));
+ "\n");
}
}
catch(Exception e)
{ System.out.println(e);}
我在一些例子中看到他们在String变量中使用了resultset值。但我不知道为什么我会收到这个错误。在Eclips中还有另一件事,它也没有显示任何错误。但运行代码后,我得到了这个例外。任何帮助将不胜感激。在此先感谢
答案 0 :(得分:1)
您的光标位于第一行之前,然后您正在请求数据。您需要将光标移动到第一行。首先执行EmailAccounts.next()然后获取String