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. Android-操作栏之副标题

    我们的目标是在操作栏右侧加上一个选项菜单,点击它就可显示或者隐藏操作栏的副标题. 由于操作栏是在API11级以后出现的,因此必须考虑兼容性问题.我们直接让低于API11的设备根本看不到选项菜单即可.建 ...

  2. HDU 2896 病毒侵袭 (AC自动机)

    这题模板题.............但是竟然要去重........调试了半天才发现.................... #include <cstdio> #include <i ...

  3. Heroku 部署时 time out 错误,对GFW无力吐槽!!!

    整理自:http://ruby-china.org/topics/10813 部署到Heroku时输入 git push heroku master. 然后就开始漫长的等待了,最终报错: ssh: c ...

  4. Java protobuf框架使用向导

    ProtoBuf,全称是Protocol Buffers, 它是谷歌内部用的一种高效的.可扩展的对结构化数据进行编码的格式规范.谷歌自己内部很多程序之间的通信协议都用了ProtoBuf. 下面介绍的是 ...

  5. MVC 中引入Jquery文件的几种方法

    方法1: <script src="@Url.Content("~/Scripts/jquery-1.9.1.js")" type="text/ ...

  6. 把zlog封装成模块,隐藏zlog

    mylog.h #ifndef _MY_LOG_H #define _MY_LOG_H int init(char *filename); void *get_category(char * cate ...

  7. shell下 使用心得

    打印时间的命令 date +'%F %k:%M:%d' crontab启动计划任务,注意两件事情: 1)crontab里启动的脚本,如果需要读取文件,需要使用绝对路径,或者在脚本里cd到目录所在的绝对 ...

  8. (转)Oracle Data Guard学习

    一.Data Guard提供如下三种数据保护模式: 1)最高保护模式(Maximum Protection) 这里的”最高保护“是指最大限度的保护数据不丢失,也就是至少有一个standby和prima ...

  9. Javascript quiz

    作为一个勤劳的corder,在大年三十的前一天还留守在公司的最前线.百无聊赖中看到一套关于js的测试题,测试过后发现有些题还是有很大的意义,至少能够让我门对js基础有所重视.本人将每道题的考察点总结了 ...

  10. VS2010之MFC串口通信的编写教程--转

    http://wenku.baidu.com/link?url=K1XPdj9Dcf2of_BsbIdbPeeZ452uJqiF-s773uQyMzV2cSaPRIq6RddQQH1zr1opqVBM ...