本程序检索数据库中的数据。我需要为我的程序使用一个字符串变量。但是当我将ResultSet字符串值放入字符串变量中并且在运行程序之后显示'java.sql.SQLException: Before start of result set'
。ResultSet和String变量问题
这里是我的代码:
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);}
我在一些例子中看到他们在字符串变量使用的ResultSet值。但我不知道为什么我得到这个错误。 Eclips还有另一件事情,它也没有显示任何错误。但运行代码后,我得到了这个异常。任何帮助将不胜感激。在此先感谢
好的,你在调用'next()'之前调用了'getString()'*。你不能那样做。 (我也强烈建议你开始遵循普通的Java命名约定,并且你更易于格式化你的代码。) –
感谢你的帮助 –