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. jQuery 文本框得失焦点应用

    一.文本框得失焦点一种是改变文本框的样式    得到焦点:               失去焦点: 二.文本框得失焦点另一种是改变文本框的值    得到焦点:     失去焦点:       三.jQ ...

  2. 设置Chrome和IE搜索栏的默认搜索引擎

    由于本人比较喜欢用Google香港作为自己的默认搜索引擎,Chrome里面可以轻松设置. ======================== Chrome ======================= ...

  3. bootstrap-datetimepicker使用记录

    版本:V2.0 1.bootstrap-datetimepicker.min.css 2.bootstrap-datetimepicker.min.js 3.bootstrap-datetimepic ...

  4. CF 277E Binary Tree on Plane (拆点 + 费用流) (KM也可做)

    题目大意: 平面上有n个点,两两不同.现在给出二叉树的定义,要求树边一定是从上指向下,即从y坐标大的点指向小的点,并且每个结点至多有两个儿子.现在让你求给出的这些点是否能构成一棵二叉树,如果能,使二叉 ...

  5. 带你深入了解Web站点数据库的分布存储

    作者:finalbsd原载: http://www.sanotes.net/html/y2009/358.html 在Web 2.0时代,网站将会经常面临着快速增加的访问量,但是我们的应用如何满足用户 ...

  6. MySQL STRAIGHT_JOIN

    问题 最近在调试一条查询耗时5s多的sql语句,这条sql语句用到了多表关联(inner join),按时间字段排序(order by),时间字段上已经创建了索引(索引名IDX_published_a ...

  7. php目录分隔符DIRECTORY_SEPARATOR

    在windows我们习惯性的使用“\”作为文件分隔符,但是在linux上系统不认识这个标识,于是就要引入这个php内置变量了:DIRECTORY_SEPARATOR 路径分隔符 windows \ o ...

  8. UILabel自适应高度和自动换行

    码: //初始化label UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)]; //设置自动行数与字符换行 [l ...

  9. Servlet 中的out.print()与out.writer()的区别

    PrintWriter out = response.getWriter(); out.print(obj)其源码如下: public void print(Object obj) { write(S ...

  10. LeetCode_Best Time to Buy and Sell Stock III

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...