//连接数据库
public Connection getConnection(){
//url为绝对路径
String url="jdbc:sqlserver://127.0.0.1:1433;databaseName=student";
//user为用户名
String user="sa";
//password为密码
String password="*****";
try {
//加载数据库驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("数据库加载驱动成功");
//使用DriverManager获取数据库连接
Connection connection=DriverManager.getConnection(url, user, password);
//数据库连接成功输出提示,返回connection接口
if(connection!=null) {
System.out.println("数据库连接成功");
return connection;
}
}catch (Exception e) {//连接失败,输出失败原因
System.out.println("连接失败:"+e.getMessage());
}
return null;
}
//数据库插入
public void insertRecord(Connection connection) throws SQLException {
//要执行的数据库插入语句,里面的字符串可用?代替,适用于图形交互界面
String sql="INSERT Course VALUES(?,?,?)";
/**
* Connection中的sql语句可以预编译保存在PreparedStatement对象中(如preparedStatement)
* 当需要执行该语句时,直接调用ps,不需要重复地编译select语句,提高了效率。
*/
PreparedStatement preparedStatement=connection.prepareStatement(sql);
//为sql语句中的问号设置代替值
preparedStatement.setString(1, "10021");
preparedStatement.setString(2, "插入课程");
preparedStatement.setString(3, null);
/**
* 方法executeUpdate用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句
* 例如 CREATE TABLE 和 DROP TABLE。
* INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。
* executeUpdate 的返回值是一个整数(int),指示受影响的行数(即更新计数)。
* 对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。
*/
preparedStatement.executeUpdate();
System.out.println("插入成功");
//先打开的后关闭
preparedStatement.close();
connection.close();
}
//数据库删除
public void deleteRecord(Connection connection) throws SQLException {
//要执行的数据库删除语句
String sql="DELETE FROM Course WHERE cno='10021'";
PreparedStatement preparedStatement=connection.prepareStatement(sql);
preparedStatement.executeUpdate();
System.out.println("删除成功");
preparedStatement.close();
connection.close();
}
//数据库修改
public void updateTable(Connection connection) throws SQLException {
//要执行的数据库修改语句
String sql="UPDATE Course SET cname='修改课程' WHERE cno='10020'";
PreparedStatement preparedStatement=connection.prepareStatement(sql);
preparedStatement.executeUpdate();
System.out.println("修改成功");
preparedStatement.close();
connection.close();
}
//数据库查询
public void queryData(Connection connection) throws SQLException {
//要执行的数据库查询语句
String sql="SELECT * FROM Course";
PreparedStatement preparedStatement=connection.prepareStatement(sql);
/**
* 方法executeQuery 用于产生单个结果集(ResultSet)的语句,例如 SELECT 语句。
* 这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。
* 但也只能执行查询语句,执行后返回代表查询结果的ResultSet对象。
*/
ResultSet resultSet=preparedStatement.executeQuery();
/**
* resultSet用来承接PreparedStatement对象查询到的结果,可以通过该对象中的方法来访问数据库。
* 如代码中的循环所示,一开始rs光标停在第一行的前面(注意,并非第一行)
* 当第一次执行rs.next()函数时,光标才会到第一行,用一个while循环就可以遍历整个表的行。
* 而rs.getString(index)是用来返回第index列的值,是横向的。
* 注意:第一列的index就是1,而不是0,和数组下标有所区别。
*/
while (resultSet.next()) {
//输出进行排版
String cno=String.format("%-10s", resultSet.getString(1));
String cname=String.format("%-15s\t", resultSet.getString(2));
String cbefore=String.format("%-10s", resultSet.getString(3));
System.out.println("课程号:"+cno+"课程名:"+cname+"先行课:"+cbefore);
}
//先打开的后关闭
resultSet.close();
preparedStatement.close();
connection.close();
}

注意:

1.方法executeQuery 用于产生单个结果集(ResultSet)的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法。这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。但也只能执行查询语句,执行后返回代表查询结果的ResultSet对象。

2.方法executeUpdate用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数(int),指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。

3.方法execute可用于执行任何SQL语句,返回一个boolean值,表明执行该SQL语句是否返回了ResultSet。如果执行后第一个结果是ResultSet,则返回true,否则返回false。但它执行SQL语句时比较麻烦,通常我们没有必要使用execute方法来执行SQL语句,而是使用executeQuery或executeUpdate更适合,但如果在不清楚SQL语句的类型时则只能使用execute方法来执行该SQL语句了。

4.关于Iterator主要有三个方法:hasNext()、next()、remove()

hasNext:没有指针下移操作,只是判断是否存在下一个元素

next:指针下移,返回该指针所指向的元素

remove:删除当前指针所指向的元素,一般和next方法一起用,这时候的作用就是删除next方法返回的元素。

Java 连接 SQL Server 数据库的更多相关文章

  1. java连接sql server数据库(使用用户sa)

    一.安装数据库相关软件 sql server management studio是管理sql server数据库的软件,想要使用需到微软官网下载安装sql server,然后再安装sql server ...

  2. java连接sql server数据库

    1.新建项目,导入包  sqljdbc4.jar或sqljdbc.jar(jdk1.7版本) 2.新建类文件ConnectionDB.java package hello; import java.s ...

  3. Java 链接SQL Server 数据库

    1 //Java 连接 SQL Server数据库 2 public static final String DRIVERNAME="com.microsoft.sqlserver.jdbc ...

  4. jTDS Java连接SQL Server 2000数据库

    Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别 是mssqlserver.jar.msutil.ja ...

  5. Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统

    Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括 ...

  6. Java使用JDBC连接SQL Server数据库

    Java使用JDBC连接SQL Server数据库 1.下载驱动 1.下载Microsoft SQL Server JDBC 驱动程序 https://docs.microsoft.com/zh-cn ...

  7. 编写Java程序,使用JDBC连接SQL Server数据库

    返回本章节 返回作业目录 需求说明: 使用JDBC连接SQL Server数据库 SQL Server数据库位于192.168.2.101. 所需连接的数据库为eshop_db,用户名为test,密码 ...

  8. NetBeans连接SQL server数据库教程

    不废话,直接开始 1.下载sqljdbc.jar 可以从微软中国官方网站下载 SQLJDBC微软中国 笔者提供一个网盘链接Sqljdbc.jar 4个压缩包视版本选择,SQL 2012 用sqljdb ...

  9. JDBC连接sql server数据库及其它

    JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...

随机推荐

  1. C#面向对象基础--类与对象

    1.类与对象 类是面向对象编程的基本单元:类造出来的变量叫对象. 一个类包含俩种成员:字段与方法. 字段即变量,方法即函数. 面向对象思想:教给我们如何合理的运用类的规则去编写代码. 2.类的字段 字 ...

  2. Jupyter Magic - Timing(%%time %time %timeit)

    对于计时有两个十分有用的魔法命令:%%time 和 %timeit. 如果你有些代码运行地十分缓慢,而你想确定是否问题出在这里,这两个命令将会非常方便. 1.%%time 将会给出cell的代码运行一 ...

  3. uva 11375 Matches (递推)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  4. H3C 802.11协议的发展

  5. 2018-9-28-WPF-自定义-TextBoxView-的-Margin-大小

    title author date CreateTime categories WPF 自定义 TextBoxView 的 Margin 大小 lindexi 2018-09-28 17:16:17 ...

  6. ip地址库 与浏览器的关系

    https://zhidao.baidu.com/question/325152705.html 只要手机连接数据上网就会产生ip,只要进入了淘宝,就能查出用户访问记录的. 手机是运营商动态分配的.它 ...

  7. jq杂项方法/工具方法----isArray()

    https://www.cnblogs.com/sandraryan/ $.isArray()函数用于判断指定参数是否是一个数组.返回布尔值. <!DOCTYPE html> <ht ...

  8. Python--day19--sys模块

    sys模块 sys模块是与python解释器交互的一个接口 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys. ...

  9. JavaScript DOM查询,原生js实现元素子节点的获取

    在网页网页开发中,经常会需要获取某个网页元素的子元素,然后对其进行事件绑定.或样式修改等行为.这些操作对于jquery来说很容易,但是对于原生js会稍微麻烦一些,这里将介绍四种方法获取元素的子元素(本 ...

  10. P1019 聪聪理扑克

    题目描述 聪聪的两个小伙伴灵灵和豪豪喜欢打扑克,什么斗地主.德州.牛牛,他们都玩的有模有样. 但是每次玩好扑克他们都不整理一下,所以整理扑克的任务就交到了聪聪的手上. 已知现在桌面上有 n 张扑克牌, ...