/**
* 添加学生的JDBC
* @author T283
*
*/
public class AddStu_JDBC {
public static void main(String[] args) throws Exception {
//1、注册驱动类
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2、连接数据库:字符串写错 会报错-对象无效
Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=T283", "sa", "123");
System.out.println(con);
//3、创建Statement对象(用来执行sql语句)
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = sc.next();
System.out.println("请输入性别:");
String sex = sc.next();
System.out.println("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入爱好:");
String like = sc.next();
System.out.println("请输入地址:");
String address = sc.next();
System.out.println("请输入个性签名:");
String gxqm = sc.next();
// PreparedStatement ps = con.prepareStatement("insert into Student values('"+name+"','"+sex+"',"+age+",'"+like+"','"+address+"','"+gxqm+"')");
//占位符:?
String sql = "insert into Student values(?,?,?,?,?,?)";
PreparedStatement ps = con.prepareStatement(sql);
//4、给占位符赋值
ps.setString(1, name);//给第一个占位符赋值(姓名)
ps.setString(2, sex);//给第二个占位符赋值(性别)
ps.setInt(3, age);//给第3个占位符赋值(年龄)
ps.setString(4, like);//给第4个占位符赋值(爱好)
ps.setString(6, gxqm);//给第6个占位符赋值(个性签名)
ps.setString(5, address);//给第5个占位符赋值(地址)
//5、执行sql语句:增删改,返回受影响行数
int i = ps.executeUpdate();//接收受影响行数
System.out.println("受影响行数:"+i);
//6、处理结果(增删改返回受影响行数/查询返回查询的结果集)
if(i>0) {
// JOptionPane.showMessageDialog(null, "添加成功");
System.out.println("添加成功");
}else {
// JOptionPane.showMessageDialog(null, "添加失败");
System.out.println("添加失败");
}
//7、关闭连接(释放资源)
con.close();
ps.close();
}
/**
* 删除学生
* @author d
*
*/
public class DelStu_JDBC {
public static void main(String[] args) throws Exception {
//注册驱动类
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//连接数据库
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=T283";
Connection con = DriverManager.getConnection(url,"sa","123");
//创建PreparedStatement对象,用来执行sql语句
String sql = "delete Student where sid=?";
PreparedStatement ps = con.prepareStatement(sql);
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的学员学号:");
int sid = sc.nextInt();
//给占位符赋值
ps.setInt(1, sid);
//执行sql语句
int i = ps.executeUpdate();
//处理结果
if(i>0) {
System.out.println("删除成功");
}else {
System.out.println("删除失败");
}
//关闭连接
ps.close();
con.close();
}
}
/**
* 查询所有学生
* @author d
*
*/
public class SelectStu_JDBC {
public static void main(String[] args) throws Exception {
//1、注册驱动类
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2、连接数据库
String url ="jdbc:sqlserver://localhost:1433;DatabaseName=T283";
Connection con = DriverManager.getConnection(url, "sa", "123");
//3、创建PreparedStatement对象,用来执行sql语句
String sql = "select * from Student";
PreparedStatement ps = con.prepareStatement(sql);
//4、给占位符赋值
//5、执行sql语句(接收结果集)
ResultSet rs = ps.executeQuery();
//6、处理结果:遍历结果集
while(rs.next()) {//只要结果集中有数据 就返回true
//每循环一次,就默认是一行数据
//获取每一行中的 每一个字段数据
int sid = rs.getInt(1);//获取数据行中的第一个字段
String sname = rs.getString(2);//获取数据行中的第2个字段
String ssex = rs.getString(3);//获取数据行中的第3个字段
//可以根据列名获取值
// String ssex = rs.getString("ssex");//获取数据行中的第3个字段
int sage = rs.getInt(4);//获取数据行中的第4个字段
String slike = rs.getString(5);//获取数据行中的第5个字段
String saddress = rs.getString(6);//获取数据行中的第6个字段
String sinfo = rs.getString(7);//获取数据行中的第7个字段
System.out.println("学号:"+sid+"\t\t姓名:"+sname+"\t\t性别:"+ssex+"\t\t年龄:"+sage+"\t\t爱好:"+slike+"\t\t地址:"+saddress+"\t\t个性签名:"+sinfo);
}
//7、关闭
rs.close();
con.close();
ps.close();
}
}
/**
* 修改学生信息
* @author d
*
*/
public class UpdateStu_JDBC {
public static void main(String[] args) throws Exception {
//注册驱动类
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//连接数据库
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=T283";
Connection con = DriverManager.getConnection(url, "sa", "123");
String sql = "update Student set sname=?,ssex=?,sage=?,slike=?,saddress=?,sinfo=? where sid=?";
//创建PreparedStatement;用来执行sql语句
PreparedStatement ps = con.prepareStatement(sql);
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改的学员学号:");
int sid = sc.nextInt();
System.out.println("请输入修改后的姓名:");
String sname = sc.next();
System.out.println("请输入修改后的性别:");
String ssex = sc.next();
System.out.println("请输入修改后的年龄:");
int sage = sc.nextInt();
System.out.println("请输入修改后的爱好:");
String slike = sc.next();
System.out.println("请输入修改后的地址:");
String saddress = sc.next();
System.out.println("请输入修改后的个性签名:");
String sinfo =sc.next();
//给占位符赋值
ps.setString(1, sname);//给第一个占位符赋值(姓名)
ps.setString(2, ssex);//给第2个占位符赋值(性别)
ps.setInt(3, sage);//给第3个占位符赋值(年龄)
ps.setString(4, slike);//给第4个占位符赋值(爱好)
ps.setString(5, saddress);//给第5个占位符赋值(地址)
ps.setString(6, sinfo);//给第6个占位符赋值(个性签名)
ps.setInt(7, sid);//给第7个占位符赋值(学号)
//执行sql语句
int i = ps.executeUpdate();
//处理结果
if(i>0) {
System.out.println("修改成功");
}else {
System.out.println("修改失败");
}
//关门关窗
ps.close();
con.close();
}
}