📄 dboperator.java
字号:
import java.io.*;
import java.sql.*;
public class DbOperator {
private ResultSet results;
private Connection con;
private Statement stmt;
private ResultSet result = null;
private int numCols;
//DbOperator的构造器,连接数据库
DbOperator() {
String url="jdbc:odbc:sky3_db";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);
}catch(Exception e){System.out.println(e);}
}
//根据选择 执行 相对的 方法
private void xuanze() throws IOException{
BufferedReader br= new
BufferedReader(new InputStreamReader(System.in));
String str1;
while(true){
System.out.println("-----学生数据库查询-----");
System.out.println("请选择操作: 1.查询,2.添加,3.更新,4.删除,5.退出");
str1 =br.readLine();
str1.trim();
if(str1.equals("1"))
{
System.out.println("你选择的是查询操作 请输入你要查询的姓名:");
String strname = br.readLine();
strname.trim();
this.chaxun(strname);
}
else if(str1.equals("2"))
{
System.out.println("你选择的是添加操作 请输入各项信息 ");
System.out.println();
System.out.println("请输入要添加学生的学号:");
String strid=br.readLine();
strid.trim();
System.out.println("请输入要添加学生的姓名:");
String strname=br.readLine();
strname.trim();
System.out.println("请输入要添加学生的性别:");
String strsex=br.readLine();
strsex.trim();
System.out.println("请输入要添加学生的出生年月:");
String strbir=br.readLine();
strbir.trim();
System.out.println("请输入要添加学生的家庭住址:");
String straddress=br.readLine();
straddress.trim();
this.tianjia(strid,strname,strsex,strbir,straddress);
}
else if(str1.equals("3"))
{
String string="";
System.out.println("你选择的是更新操作 请输入要更新的学号");
String id=br.readLine();
id.trim();
System.out.println("请输入要更新的字段:(1.姓名,2.性别,3.出生年月,4.家庭住址)");
String s1=br.readLine();
s1.trim();
if(s1.equals("1"))
string="name";
else if(s1.equals("2"))
string="sex";
else if(s1.equals("3"))
string="bir";
else if(s1.equals("4"))
string="address";
System.out.println("请输入新的信息:");
String s2=br.readLine();
s2.trim();
this.gengxin(id,string,s2);
}
else if(str1.equals("4"))
{
System.out.println("你选择的是删除操作 请输入要删除的学号:");
String id=br.readLine();
id.trim();
this.shanchu(id);
}
else if(str1.equals("5"))
{
try{
con.close();
}catch(Exception el){System.out.println(el);}
System.out.println("谢谢使用,再见");
System.exit(0);
}
else
System.out.println("输入有误,请重新输入.");
System.out.println();
System.out.println("请重新选择操作");
System.out.println();
}
}
public static void main(String[] args) {
try{new DbOperator().xuanze();}
catch(Exception e){System.out.println(e);}
}
//执行查询操作
private void chaxun(String sname){
try{
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
results= stmt.executeQuery("select * from students where (name='"+sname+"')");
results.first();
System.out.println("查询结果是:");
System.out.println("学号: "+results.getString(1));
System.out.println("姓名: "+results.getString(2));
System.out.println("性别: "+results.getString(3));
System.out.println("出生年月: "+results.getDate(4));
System.out.println("家庭地址: "+results.getString(5));
}catch(Exception e){System.out.println(e);}
}
//执行添加操作
private void tianjia(String sid,String sname,String ssex,String sbir,String saddress){
try{
Statement stmt = con.createStatement();
int a = stmt.executeUpdate("insert students values("+sid+",'"+sname+
"','"+ssex+"','"+sbir+"','"+saddress+"')");
if(a==1)
System.out.println("记录添加完毕");
}catch(Exception e){System.out.println("ID重复,请重新输入");}
}
//执行删除操作
private void shanchu(String sid){
try{
Statement stmt = con.createStatement();
int a = stmt.executeUpdate("delete from students where id="+sid);
if(a==1)
System.out.println("记录删除完毕");
else
System.out.println("没有此行记录");
}catch(Exception e){System.out.println("没有此行记录");}
}
//执行更新操作
private void gengxin(String sid,String sname,String str1){
try{
Statement stmt = con.createStatement();
int a = stmt.executeUpdate("update students set "+sname+"='"+str1+"' where id="+sid);
if(a==1)
System.out.println("记录更新完毕");
else
System.out.println(" 没有此行记录 或 没有此字段名 ");
}catch(Exception e){System.out.println(" 没有此行记录 或 没有此字段名 ");}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -