执行查询的时候说我已在main方法中定义变量e,应该怎么解决
import java.sql.*;
public class Day2_1{
public static void main(String args[]){
try{Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
}
catch(Exception e){
Connection con;
Statement sql;
ResultSet rs;
try{
String uri="jdbc:derby:mydb;create=true";
con=DriverManager.getConnection(uri);
sql=con.createStatement();
rs=sql.executeQuery("select Cname,Chp from ch");
while(rs.next()){
String Cname=rs.getString(1);
int Chp=rs.getInt(2);
System.out.print(Cname+"|");
}
con.close();
}
catch(SQLException e){
System.out.println(e);
}
}
}
}
刚看了代码 你的try catch中包了一个catch 并且变量名都是e改为如下就行 一个try catch就可以
:
import java.sql.*;
public class Day2_1 {
public static void main(String args[]) {
try {
Connection con;
Statement sql;
ResultSet rs;
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
String uri = "jdbc:derby:mydb;create=true";
con = DriverManager.getConnection(uri);
sql = con.createStatement();
rs = sql.executeQuery("select Cname,Chp from ch");
while (rs.next()) {
String Cname = rs.getString(1);
int Chp = rs.getInt(2);
System.out.print(Cname + "|");
}
con.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
这是语法编译错误。不是运行时发生的错误。
请检查你的变量e是否重复定义。
请将你的源码贴一下。
import java.sql.*;
public class Day2_1{
public static void main(String args[]){
try{
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection con;
Statement sql;
ResultSet rs;
String uri="jdbc:derby:mydb;create=true";
con=DriverManager.getConnection(uri);
sql=con.createStatement();
rs=sql.executeQuery("select Cname,Chp from ch");
while(rs.next()){
String Cname=rs.getString(1);
int Chp=rs.getInt(2);
System.out.print(Cname+"|");
}
con.close();
} catch(SQLException e){
System.out.println(e);
}
}
}