当前位置: 首页 > 工具软件 > Conserver > 使用案例 >

JDBC连接SQLserver

司马同
2023-12-01

/**
 * 添加学生的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();
        
    }

}
 

 类似资料: