1、crud(增删改查)介绍:create/retrieve/update/delete


2、JDBC介绍
1)JDBC(java database connectivity,java数据库连接)
2)是一种用于运行SQL语句的java  API,可为多种关系数据库提供统一訪问。由一组用Java语言编写的类和接口组成。
3)JDBC为工具/数据库开发者提供了一个标准的API,据此可构建更高级的工具和接口,是数据库开发者可以用纯Java API编写数据库应用程序。
4)JDBC也是闪避表明。


3、JDBC驱动分类
1)JDBC-ODBC桥连接
2)本地协议纯Java驱动程序
3)网络协议纯Java驱动程序
4)本地API

4、JDBC的不足
1)JDBC在java语言层面实现了统一,但不同数据库仍有很多差异。
2)Hibernate(跨数据库操作)是针对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性。


5、JDBC-ODBC桥连接操作SQL Server
步骤:
1)開始——控制面板——管理工具——数据源(ODBC)——ODBC数据源管理器——用户DSN——加入——创建新数据源——SQL Server——名称——server“local”或“.”(均表示本地)——下一步——“使用Windows NT验证”——下一步——“更改默认的数据库为XXX”——完毕——測试数据源

2)在程序中连接数据源(import  java.sql.*;)
  • 载入驱动(把须要的驱动程序增加内存)
    • Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
  • 得到连接(指定连接到哪个数据源,username,password)
    • Connection  ct=DriverManager.getConnection("jdbc:odbc:数据库名","sa","password")
    • 注:若为Windows验证,则不须要username和password。

  • 创建Statement或PreparedStatement
    • Statement主要用来发送sql语句到数据库
    • Statement sm=ct.creatStatement();
  • 运行(crud,创建database,备份。恢复)
    • int  i=sm.executeUpdate("insert into dept values('50','保安部','西永')");i表示成功加入的记录条数
    • executeUpdate可cud操作
  • 关闭资源
    • if(sm!=null)
                         sm.close();
                    if(ct!=null)
                          ct.close();

6、补充:
  • 删除一条记录
    • int i==sm.executeUpdate("delete  from  dept  where  dept=50");
  • 查询
    • ResultSet  rs=sm.executeQuery("select  *  from dept");
                    while(rs.next(0){
                         int deptno=rs.getInt(1);
                         String dname=rs.getString(2);
                         String loc=rs.getString(3);
                    }
    • rs指向结果集的第一行的前一行,循环取出。


数据库SQL Server2012笔记(七)——java 程序操作sql server的更多相关文章

  1. Java程序操作数据库SQLserver详解

    数据库基本操作:增删改查(CRUD) crud介绍(增.删.改.查操作) CRUD是指在做计算处理时的增加(Create).查询(Retrieve)(重新得到数据).更新(Update)和删除(Del ...

  2. SQL函数TIMEDIFF在Java程序中使用报错的问题分析

    需求背景 (读者可略过)司机每天从早到晚都会去到不同的自动售货机上补货,而且补货次数和路线等也是因人而异,补货依据是由系统优化并指派.但是目前系统还无法实施有效指挥和优良的补货策略,司机的补货活动因此 ...

  3. SQL学习笔记七之MySQL视图、触发器、事务、存储过程、函数

    阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...

  4. java程序操作Geometry对象

    Geometry 空间地理对象,Oracle中存储Geometry对象的字段类型是 MDSYS.SDO_GEOMETRY,在数据库中构建Geometry对象的方法: v_pointarray MDSY ...

  5. 大数据-09-Intellij idea 开发java程序操作HDFS

    主要摘自 http://dblab.xmu.edu.cn/blog/290-2/ 简介 本指南介绍Hadoop分布式文件系统HDFS,并详细指引读者对HDFS文件系统的操作实践.Hadoop分布式文件 ...

  6. 读书笔记一 Java程序员的基本修养(数组及其内存管理)

    1.1 数组初始化 1.1.1 java数组是静态的 java数组被初始化之后,该数组所占的内存空间.数组长度都是不可变的. java程序中的数组必须经过初始化才可使用. 数组的初始化有两种方式: 1 ...

  7. Java学习笔记七(目录操作)

    1.介绍 上一篇博客介绍的是java中经常使用的操作文件的方式,本篇博客着重解说一下,在Java中是怎样来操作目录的.主要是利用的是Java.IO包以下的File类,本篇博客着重解说一下该类的构造函数 ...

  8. 数据库SQL Server2012笔记(三)——表的复杂查询

    1.数据分组--max/min/avg/sum/count select  avg(字段名),sum(字段名)  from  表名 select  count(*)  from  表名 select ...

  9. 数据库SQL Server2012笔记(四)——多表查询、子查询、分页查询、用查询结果创建新表和外连接

    1.多表查询 1)笛卡尔集: select  *  from  表名1,表名2 select  *  from  表名1.表名2  where   表名1.字段名=表名2.字段名 注: 若有两张表有同 ...

随机推荐

  1. 104.virtual虚函数多态与异构数据结构

    #include "mainwindow.h" #include <QApplication> #include <list> #include <Q ...

  2. POJ 3629 队列模拟

    听说STL会卡T 然后我就试了一发 哈哈哈哈哈哈哈哈哈哈 1000ms卡时过的 这很值得我写一发题解了 哈哈哈哈哈哈哈哈哈哈哈哈 //By SiriusRen #include <queue&g ...

  3. [ DB ] [ SQL ] [ SQL Server ] MS SQL 建立暫存表格 temp table - 轉載

    範例 SQL: IF OBJECT_ID(N'tempdb.dbo.#tmp_checkStatusCount', N'U') IS NOT NULL DROP TABLE #tmp_checkSta ...

  4. DevExpress Report打印边距越界问题

    DevExpress  Report Print的时候,出现这样的问题:one or more margins are set outside the printable area of the pa ...

  5. JAVA数组的基本方法

    数组的基本方法 数组可以存放多个数据,多个数据类型要统一数组格式: 格式一:常用写法 数组类型[] 数组名称 = new 数据类型[数组长度]; 格式二:蛋疼写法 数组类型[] 数组名称; 数组名称 ...

  6. spring在web.xml中的配置

    在实际项目中spring的配置文件applicationcontext.xml是通过spring提供的加载机制,自动加载的容器中去,在web项目中,配置文件加载到web容器中进行解析,目前,sprin ...

  7. U盘版Windows 10已经在亚马逊Amazon開始接受预订啦

    Windows 10定于下周7月29日正式公布. Windows 10家庭版119美元.专业版199美元,这个价格包含 Windows 10 授权.

  8. BZOJ 刷题记录 PART 5

    拖了好久才写的. [BZOJ2821]接触分块大法.这道题略有点新颖.首先我们先分块.然后统计每块中每一个数出现的个数. 以下是联立各个方块,预处理出第I个方块到第J个方块出现正偶数次数的个数. fo ...

  9. 位运算(&amp;、|、^)与逻辑运算(&amp;&amp;、 ||)差别

    刚无意在一篇文章中看到了位运算(&.|)和逻辑运算(&&.||)的介绍.想起了自己薄弱的基础知识.于是百度了几把总结了下. 首先从概念上区分下,位运算是将运算符两边的数字换算成 ...

  10. Es61

    ECMAScript和JavaScript的关系 ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.Mozilla公司将在这个标准的基础 ...