为什么代码一可以运行,代码二却不行
代码一
java
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.ArrayList;
import com.mysql.jdbc.Statement;
import java.sql.ResultSet;
public class sql {
ArrayList<Book> tushu=new ArrayList<>();
ArrayList<CD> b=new ArrayList<>();
ArrayList<Picture> c=new ArrayList<>();
Connection con=null;
Statement st=null;
public static void main(String[] args) throws Exception {
ResultSet rs=null;
java.sql.Statement st=null;
Connection con=null;
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/chengxusheji?useSSL=false","root","03579631");
st= con.createStatement();
String sql="select * from a";
rs=st.executeQuery(sql);
while(rs.next()) {
System.out.print(rs.getString(1)+"\t");
System.out.print(rs.getString(2)+"\t");
System.out.print(rs.getString(3)+"\t");
System.out.print(rs.getString(4)+"\t");
System.out.print(rs.getString(5)+"\t");
System.out.print(rs.getString(6)+"\t");
System.out.print(rs.getInt(7)+"\t");
System.out.print("\n");
}
}
}
代码二
java
import java.util.ArrayList;
import java.util.Scanner;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import com.mysql.jdbc.Statement;
import java.sql.ResultSet;
public class KSone {
Scanner ad=new Scanner(System.in);
ArrayList<Book> a=new ArrayList<>();
ArrayList<CD> b=new ArrayList<>();
ArrayList<Picture> c=new ArrayList<>();
PreparedStatement ps1=null;
PreparedStatement ps2=null;
PreparedStatement ps3=null;
String sql="insert into a values(?,?,?,?,?,?,?)";
String sql2="insert into b values(?,?,?,?,?,?,?)";
String sql3="insert into c values(?,?,?,?,?,?,?)";
public static void main(String[] args) throws Exception {
Scanner ad=new Scanner(System.in);
KSone p=new KSone();
Class.forName("com.mysql.jdbc.Driver");
Connection con=null;
PreparedStatement ps1=null;
PreparedStatement ps2=null;
PreparedStatement ps3=null;
con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/chengxusheji?useSSL=false","root","03579631");
String sql="insert into a values(?,?,?,?,?,?,?)";
String sql2="insert into b values(?,?,?,?,?,?,?)";
String sql3="insert into c values(?,?,?,?,?,?,?)";
ps1=con.prepareStatement(sql);
ps2=con.prepareStatement(sql2);
ps3=con.prepareStatement(sql3);
while(true) {
System.out.println("***********媒体库管理系统*************");
System.out.println("\t1.添加物品");
System.out.println("\t2.查询物品");
System.out.println("\t3.显示物品库");
System.out.println("\t4.编辑物品");
System.out.println("\t5.删除物品");
System.out.println("\t6.统计信息");
System.out.println("\t7.物品存盘");
System.out.println("\t8.读出物品");
System.out.println("**********************************");
int s=ad.nextInt();
switch (s) {
case 1:
p.function1();
break;
case 2:
p.function2();
break;
case 3:
p.function3();
break;
case 4:
p.function4();
break;
case 5:
p.function5();
break;
case 6:
p.function6();
break;
case 7:
p.function7();
break;
}
}
}
........
public void function8() throws Exception {
ResultSet rs=null;
java.sql.Statement st=null;
Connection con=null;
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/chengxusheji?useSSL=false","root","03579631");
st= con.createStatement();
String sql="select * from a";
rs=st.executeQuery(sql);
ResultSet rs2=null;
java.sql.Statement st2=null;
st2= con.createStatement();
String sql2="select * from b";
rs2=st2.executeQuery(sql2);
ResultSet rs3=null;
java.sql.Statement st3=null;
st3= con.createStatement();
String sql3="select * from c";
rs3=st3.executeQuery(sql3);
while(rs.next()) {
System.out.print(rs.getString(1)+"\t");
System.out.print(rs.getString(2)+"\t");
System.out.print(rs.getString(3)+"\t");
System.out.print(rs.getString(4)+"\t");
System.out.print(rs.getString(5)+"\t");
System.out.print(rs.getString(6)+"\t");
System.out.print(rs.getInt(7)+"\t");
System.out.print("\n");
}
if (rs != null) {
rs.close();
}
if (st != null) {
st.close();
}
while(rs2.next()) {
System.out.print(rs2.getString(1)+"\t");
System.out.print(rs2.getString(2)+"\t");
System.out.print(rs2.getString(3)+"\t");
System.out.print(rs2.getString(4)+"\t");
System.out.print(rs2.getString(5)+"\t");
System.out.print(rs2.getString(6)+"\t");
System.out.print(rs2.getString(7)+"\t");
System.out.print("\n");
}
if (rs2 != null) {
rs2.close();
}
if (st2 != null) {
st2.close();
}
while(rs3.next()) {
System.out.print(rs3.getString(1)+"\t");
System.out.print(rs3.getString(2)+"\t");
System.out.print(rs3.getString(3)+"\t");
System.out.print(rs3.getString(4)+"\t");
System.out.print(rs3.getString(5)+"\t");
System.out.print(rs3.getInt(6)+"\t");
System.out.print(rs3.getInt(7)+"\t");
System.out.print("\n");
}
if (rs3 != null) {
rs3.close();
}
if (st3 != null) {
st3.close();
}
if (con != null) {
con.close();
}
}
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果