import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 /**
  * TestDemo.java
  * 使用java对sql server进行增删改查
  * ---------------------------
  * 数据库名:test
  * 表名:user
  * 拥有字段:
  * id:int(identity(1,1))
  * userName:nvarchar
  * password:nvarchar
  * ---------------------------
  * 部分方法会要求try-catch
  * 为了简洁
  * 对异常进行了 throws
  */
 public class TestDemo {
     /*
      * 使用PreparedStatement对象操作数据库
      * 好处比Statement多太多
      * 安全性,性能...
      *
      * PreparedStatement的参数索引从1开始.
      *
      * 一些常用的方法
      * ResultSet executeQuery();//可以执行sql查询,返回ResultSet对象
      * int executeUpdate();//可以执行“增删改”,返回受影响行数
      * boolean execute();//可以执行任意sql语句,如果结果为Result对象,返回true,反之:false
      */
     private static PreparedStatement ps;

     public static void main(String[] args) throws ClassNotFoundException, SQLException {
         //访问数据库的url
         String url = "jdbc:sqlserver://localhost:1433;databasename=test";
         //加载驱动
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         //建立连接
         Connection conn = DriverManager.getConnection(url,"username","password");

         /*insert*/
         ps = conn.prepareStatement("insert into [user] values(?,?)");
         ps.setString(1, "小红");//设置userName为:小红
         ps.setString(2, "小红的密码");//设置password为:小红的密码
         if(ps.executeUpdate()>0){//如果返回的影响行数大于0,则证明增加成功
             System.out.println("增加了一条记录");
         }

         /*update*/
         ps = conn.prepareStatement("update [user] set password=? where userName=?");
         ps.setString(1, "pwd");//设置小红的密码为:pwd
         ps.setString(2, "小红");//设置update条件,userName=小红
         System.out.println("更新了:"+ps.executeUpdate()+" 条记录");

         /*query*/
         ps = conn.prepareStatement("select * from [user]");//查询所有user
         ResultSet rs = ps.executeQuery();
         while(rs.next()){//如果没有下一条记录,返回false,跳出循环
             //System.out.println("姓名:"+rs.getString("username")+",密码:"+rs.getString("password"));
             String username = rs.getString("username");
             String pwd = rs.getString("password");
             System.out.println("姓名:"+username+",密码:"+pwd);
         }

         /*delete*/
         ps = conn.prepareStatement("delete [user]");//这将删除user中的所有记录
         System.out.println("删除了:"+ps.executeUpdate()+" 条记录");

         /*close 释放资源*/
         rs.close();
         ps.close();
         conn.close();
     }
 }

使用java对sql server进行增删改查的更多相关文章

  1. java对sql server的增删改查

    package Database; import java.sql.*; public class DBUtil { //这里可以设置数据库名称 private final static String ...

  2. SQL Server数据库————增删改查

    --增删改查--增 insert into 表名(列名) value(值列表) --删 delect from 表名 where 条件 --改 update 表名 set 列名=值1,列名2=值2 w ...

  3. VS 使用Sql Server 数据库增删改查

    /// <summary> /// 执行查询语句,返回DataSet /// </summary> /// <param name="SQLString&quo ...

  4. java对xml文件做增删改查------摘录

    java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...

  5. Java API实现Hadoop文件系统增删改查

    Java API实现Hadoop文件系统增删改查 Hadoop文件系统可以通过shell命令hadoop fs -xx进行操作,同时也提供了Java编程接口 maven配置 <project x ...

  6. 四种简单的sql语句(增删改查语句)

    四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 dele ...

  7. dml语句就是你常写的sql语句,增删改查

    dml语句就是你常写的sql语句,增删改查

  8. Java项目——模拟电话薄联系人增删改查

    该项目模拟了电话本记录联系人的业务功能,用来练习对数据库的增删改查等操作. 菜单类:Menu -- 用来封装主菜单和个选项的子菜单 Person类: Person--联系人的实体类 TelNoteRe ...

  9. Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用

    前面做了一个非常垃圾的小demo,真的无法直面它,菜的抠脚啊,真的菜,好好努力把.菜鸡. --WH 一.JDBC是什么? Java Data Base Connectivity,java数据库连接,在 ...

随机推荐

  1. 《第一行代码》学习笔记37-服务Service(4)

    一个比较完整的自定义AsyncTask写成如下: class DownloadTask extends AsyncTask<Void, Integer, Boolean> { @Overr ...

  2. Guava API学习之Ordering犀利的比较器 编辑

    Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强.它非常容易扩展,可以轻松构造复杂的comparator,然后用在 ...

  3. ubuntu下安装pyqt5

    在网上看了很多ubuntu系统中安装pyqt5,感觉有些麻烦. 主要的库只有一个:python3-pyqt5 可通过新立得安装,也可通过shell命令安装 sudo apt-get install p ...

  4. ARM 汇编器对C的扩展

    __swi void ledtest();    //:声明 edtest 是个软中断. __asm  内嵌汇编          //:通常在C程序里面需要嵌入汇编代码,这是就可以用__asm关键字 ...

  5. Android ActionBar 返回为NULL

    AndroidBar返回为NULL.是因为values-v11和values-v14下面的style的主题的设置的原因. 在SDK 11的设备上,会使用第二处,SDK 14会使用第三处. 只需要将三个 ...

  6. 最牛B的编码套路 【转】

    原文:http://blog.csdn.net/happydeer/article/details/17023229 最近,我大量阅读了Steve Yegge的文章.其中有一篇叫“Practicing ...

  7. LeetCode_sqrt(x)

    class Solution { public: int sqrt(int x) { // Start typing your C/C++ solution below // DO NOT write ...

  8. 2015必须推荐的Android框架,猿必读系列!

    一.Guava Google 的基于java1.6的类库集合的扩展项目,包括collections, caching, primitives support, concurrency librarie ...

  9. codility上的问题 (19)Sigma 2012

    题目: 像最大直方图一样给定一个数组是每个单位长度上的高度,求至少几个矩形可以拼出这个形状. 例如:给出的数组 H[0] = 8 H[1] = 8 H[2] = 5 H[3] = 7 H[4] = 9 ...

  10. Linux企业级项目实践之网络爬虫(6)——将程序设计成为守护进程

    在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程.为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统. ...