import java.sql.*;
import java.io.*;
importjavax.swing.JOptionPane;
class XueJiguanli {
private static sqll sl;
Statement st;
public static void main(String args[]) throwsException{
XueJiguanli ST=newXueJiguanli();
sl=new sqll();
System.out.println("输入你要进入的表:");
sl.biao=KB.scan().trim();
while(true){
KB.scanf();
System.out.println("请选择:");
int i=XueJiguanli.returnInt();
ST.case1(i);
}}
public static int returnInt(){
returnInteger.parseInt(KB.scan());
}
public void case1(int i)throws Exception{
switch(i){
case 0:sl.jianbiao();break;
case 1:sl.tianjia();break;
case 2:sl.shanchu();break;
case 3:sl.xiugai();break;
case 4:sl.chaxun();break;
case 5:sl.xuanbiao();break;
case 6:
JOptionPane.showMessageDialog(null, "退出成功");System.exit(1);
}
}
}
class KB{
public static String scan(){
String sr="";
try{
BufferedReader buf=new BufferedReader(newInputStreamReader(System.in));
sr=buf.readLine();
}catch(Exception e)
{e.printStackTrace();}
return sr;
}
public static void scanf(){
System.out.println("**************o创 建 表************");
System.out.println("**************1添加记录************");
System.out.println("**************2删除记录************");
System.out.println("**************3修改记录************");
System.out.println("**************4查询记录************");
System.out.println("**************5重新选表************");
System.out.println("**************6退出程序************");
}
}
class sqll{
private Object n;
public static String biao;
public Connection returnConnection(){
Connection con = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:Book");
}catch(Exception e){e.getMessage();
}
return con;
}
public void jianbiao() {
try{
Connection con=returnConnection();
System.out.println(con);
Statement st=con.createStatement();
System.out.println("输入你要创建的表名");
String sr=KB.scan();
String createTable="CREATE TABLE "+sr+"(学号 INTEGER primary key,姓名 VARCHAR(30),年龄 INTEGER)";
st.executeUpdate(createTable);
JOptionPane.showMessageDialog(null, "添加成功");
}catch(Exception e){
e.printStackTrace();
}
}
public void shanchu()throws SQLException {
int i=1;
Connectioncon=returnConnection();
Statementst=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//System.out.println("请写出你要删除的表的名称");
//String sg=KB.scan();
ResultSet rs= st.executeQuery("SELECT * FROM "+biao);
System.out.println("行数"+"\t"+"学号"+"\t"+"姓名"+"\t"+"年龄");
while(rs.next()){
System.out.println(i+++"\t"+rs.getInt("学号")+"\t"+rs.getString("姓名")+"\t"+rs.getInt("年龄"));
}
System.out.println("请选择你要删除的行:");
int n=XueJiguanli.returnInt();
rs.absolute(n);
rs.deleteRow();
System.out.println(n+"行删除成功");
rs.refreshRow();
rs.close();
st.close();
con.close();
}
public void chaxun()throws Exception{
int i=1;
Connection con=returnConnection();
Statementst=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=st.executeQuery("SELECT * FROM"+biao);
System.out.println("行数"+"\t"+"学号"+"\t"+"姓名"+"\t"+"年龄");
while(rs.next())
{
System.out.println(i+++"\t"+rs.getInt("学号")+"\t"+rs.getString("姓名")+"\t"+rs.getInt("年龄"));
}
rs.close();
st.close();
con.close();
}
public void xiugai() throws SQLException{
int i=1;
Connection con=returnConnection();
Statementst=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs= st.executeQuery("SELECT * FROM "+biao);
System.out.println("行数"+"\t"+"学号"+"\t"+"姓名"+"\t"+"年龄");
while(rs.next()){
System.out.println(i+++"\t"+rs.getInt("学号")+"\t"+rs.getString("姓名")+"\t"+rs.getInt("年龄"));
}
System.out.println("请选择你要修改列的属性");
String sr=KB.scan().trim();
System.out.println("请选择你要修改的行:");
int n=XueJiguanli.returnInt();
System.out.println("请选择你要修改的值:");
String s=KB.scan().trim();
rs.absolute(n);
if(sr.equals("姓名"))rs.updateString(sr,s);
else
{
int m=Integer.parseInt(s);
rs.updateInt(sr, m);
rs.updateRow();
}
rs.absolute(1);
int j=1;
while(rs.next()){
System.out.println(j+++"\t"+rs.getInt("学号")+"\t"+rs.getString("姓名")+"\t"+rs.getInt("年龄"));
}
System.out.println("1键继续修改");
while(XueJiguanli.returnInt()==1)
xiugai(sr,rs);
rs.close();
st.close();
con.close();
}
public void xiugai(String sr1,ResultSet rs) throws SQLException{
System.out.println("请选择你要修改列的属性");
String sr=KB.scan().trim();
System.out.println("请选择你要修改的行:");
int n=XueJiguanli.returnInt();
System.out.println("请选择你要修改的值:");
String s=KB.scan().trim();
rs.absolute(n);
if(sr.equals("姓名"))rs.updateString(sr,s);
else
{
int m=Integer.parseInt(s);
rs.updateInt(sr, m);
}
rs.updateRow();
rs.absolute(1);
int i=1;
while(rs.next()){
System.out.println(i+++"\t"+rs.getInt("学号")+"\t"+rs.getString("姓名")+"\t"+rs.getInt("年龄"));
}
System.out.println("1 键继续修改");
}
public void tianjia()throwsException{
ResultSet rs;
Connection con = null;
Statement st = null;
String sr = null ;
con=returnConnection();
st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=st.executeQuery("SELECT * FROM "+biao);
rs.moveToInsertRow();
System.out.println(" 输入学号");
int i=XueJiguanli.returnInt();
System.out.println(" 输入姓名:");
String j=KB.scan();
System.out.println(" 输入年龄:");
int k=XueJiguanli.returnInt();
try{
rs.updateInt("学号", i);
rs.updateString("姓名",j);
rs.updateInt("年龄", k);
rs.insertRow();
JOptionPane.showMessageDialog(null, "添加成功,1继续添加 任意键退出");
while(XueJiguanli.returnInt()==1)tianjia(sr,rs);
rs.close();
st.close();
con.close();
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "编号存在,1继续添加,任意键退出");
}
}
public void xuanbiao(){
System.out.println("请输入你要选的表");
biao=KB.scan().trim();
}
public void tianjia(String sr,ResultSet rs){
System.out.println(" 输入学号");
int i=XueJiguanli.returnInt();;
System.out.println(" 输入姓名:");
String j=KB.scan();
System.out.println(" 输入年龄:");
int k=XueJiguanli.returnInt();
try{
rs.updateInt("学号", i);
rs.updateString("姓名",j);
rs.updateInt("年龄",k);
rs.insertRow();
JOptionPane.showMessageDialog(null, "添加成功,1继续添加 任意键退出");
}catch(SQLException e)
{e.getMessage();
}
}
}