Statement和prepareStatement

sql server中已建立BookPhone数据库,包含bookPhone表,eclipse中有BookPhone类,三个string类型的值

1.

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

public class jdbcDemo01 {

private final static String URL = "jdbc:sqlserver://127.0.0.1:1433;databasename=BookPhone";

private final static String user = "sa";

private final static String password = "123456";

static void insert(PhoneBook pb){

Connection conn=null;

PreparedStatement ps=null;

try{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

conn = DriverManager.getConnection(URL, user, password);

String sqlString="insert into bookPhone(ph_name,ph_sex,ph_age) values(?,?,?)";

ps=conn.prepareStatement(sqlString);

ps.setString(1,pb.getName());

ps.setString(2,pb.getSex());

ps.setString(3,pb.getAge());

ps.executeUpdate();

ps.close();

conn.close();

}catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}catch(ClassNotFoundException e){

e.printStackTrace();

}

}

static void update(PhoneBook pb,String oldname){

Connection conn=null;

PreparedStatement ps=null;

try{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

conn = DriverManager.getConnection(URL, user, password);

String sqlString="update bookPhone set ph_name=?,ph_sex=?,ph_age=? where ph_name=?";

ps=conn.prepareStatement(sqlString);

ps.setString(1,pb.getName());

ps.setString(2,pb.getSex());

ps.setString(3,pb.getAge());

ps.setString(4,oldname);

ps.executeUpdate();

ps.close();

conn.close();

}catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}catch(ClassNotFoundException e){

e.printStackTrace();

}

}

static void delete(String name){

Connection conn=null;

PreparedStatement ps=null;

try{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

conn = DriverManager.getConnection(URL, user, password);

String sqlString="delete bookPhone where ph_name=?";

ps=conn.prepareStatement(sqlString);

ps.setString(1,name);

ps.executeUpdate();

ps.close();

conn.close();

}catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}catch(ClassNotFoundException e){

e.printStackTrace();

}

}

static PhoneBook requestByName(String name){

Connection conn=null;

PreparedStatement ps=null;

PhoneBook pb=null;

try{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

conn = DriverManager.getConnection(URL, user, password);

String sqlString="select * from bookPhone where ph_name=?";

ps=conn.prepareStatement(sqlString);

ps.setString(1,name);

ResultSet rs=ps.executeQuery();

while(rs.next()){

pb=new PhoneBook();

pb.setName(rs.getString(1));

pb.setSex(rs.getString(2));

pb.setAge(rs.getString(3));

System.out.print(rs.getString(2)+",");

System.out.print(rs.getString(3));

}

rs.close();

ps.close();

conn.close();

}catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}catch(ClassNotFoundException e){

e.printStackTrace();

}

return pb;

}

public static void main(String[] args) {

PhoneBook pb1=new PhoneBook("王大毛","男","14");

PhoneBook pb2=new PhoneBook("王小毛","男","14");

insert(pb1);

System.out.println(requestByName("王大毛"));

delete("王大毛");

}

}

2.

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class JdbcDemo {

private final static String URL="jdbc:sqlserver://localhost:1433;database=BookPhone";

private final static String user="sa";

private final static String password="123456";

static void insert(){

String name="李狗蛋";

String sex="男";

String age="12";

try{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection conn=DriverManager.getConnection(URL,user,password);

String sqlString="insert into bookPhone(ph_name,ph_sex,ph_age)"

+"values("+"'"+name+"','"+sex+"','"+age+"')";

Statement stmt=conn.createStatement();

stmt.executeUpdate(sqlString);

stmt.close();

conn.close();

}catch(ClassNotFoundException e){

e.printStackTrace();

}catch(SQLException e){

e.printStackTrace();

}

}

static void update(PhoneBook pb,String oldName){

String name=pb.getName();

String sex=pb.getSex();

String age=pb.getAge();

try{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection conn=DriverManager.getConnection(URL,user,password);

String sqlString="update bookPhone set ph_name='"+name+"',ph_sex='"+sex+"',ph_age='"+age+"' where ph_name='"+oldName+"'";

Statement stmt=conn.createStatement();

stmt.executeUpdate(sqlString);

stmt.close();

conn.close();

}catch(ClassNotFoundException e){

e.printStackTrace();

}catch(SQLException e){

e.printStackTrace();

}

}

static void delete(String name){

try{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection conn=DriverManager.getConnection(URL,user,password);

String sqlString="delete bookPhone where ph_name='"+name+"'";

Statement stmt=conn.createStatement();

stmt.executeUpdate(sqlString);

stmt.close();

conn.close();

}catch(ClassNotFoundException e){

e.printStackTrace();

}catch(SQLException e){

e.printStackTrace();

}

}

static void request(){

try{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection conn=DriverManager.getConnection(URL,user,password);

String sqlString="select * from bookPhone";

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery(sqlString);

while(rs.next()){

System.out.print(rs.getString(1)+",");

System.out.print(rs.getString(2)+",");

System.out.println(rs.getString(3));

}

System.out.println();

stmt.close();

conn.close();

}catch(ClassNotFoundException e){

e.printStackTrace();

}catch(SQLException e){

e.printStackTrace();

}

}

public static void main(String[] args) {

PhoneBook pb=new PhoneBook("李小狗蛋","男","12");

insert();

update(pb,"李狗蛋");

delete("barry55");

request();

}

}

jdbc至sql server的两种常见方法的更多相关文章

  1. jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...

  2. 重启sql server服务两种方式

    1.第一种重启SQl server的方法 点击左侧的数据库重启 如图 右击有个重启操作 2.第二个重启sql server方法

  3. Python连接不上SQL Server的两种根治思路

    连接不上数据库,首先可以排除是代码的问题,连接方式都是千篇一律的. 大多数问题都是本机的两个原因造成的,1.服务没有开启,2.没有启动SQL配置的TCP/IP 下面给出统一解决方案: 首先从开始菜单找 ...

  4. JDBC与SQL SERVER各个版本的连接方法

    转至:blog.csdn.net/ying5420/article/details/4488246 1.SQL SERVER 2000 JDBC驱动程序:msbase.jar.mssqlserver. ...

  5. vue中this.$router.push()路由传值和获取的两种常见方法

    1.路由传值   this.$router.push() (1) 路由跳转使用router.push()方法,这个方法会向history栈添加一个新纪录,所以,当用户点击浏览器后退按钮时,会回到之前的 ...

  6. SQL Server 中几种常见的约束关系

    1.创建唯一约束 当表中已创建主键,但又要保证其他数据列的值唯一时,可以使用唯一约束,并且唯一约束允许NULL值(只有一个) (1)展开指定的数据库: (2)右击要创建唯一约束的表,在弹出的快捷菜单中 ...

  7. html笔记04:在html之中导入css两种常见方法

    1.导入式: <html> <head> <title></title> <style type="text/css"> ...

  8. c# 导出excel的两种常见方法

    1,不是用第三方插件(html直接输出) StringBuilder ssb = new StringBuilder(); StringBuilder sb = new StringBuilder() ...

  9. 使用JDBC连接SQL Server

    源文:http://bbs.bc-cn.net/dispbbs.asp?boardid=12&id=140292 整理:秋忆 接触Java或者JSP,难免会使用到数据库SQL Server 2 ...

随机推荐

  1. 点餐APP 冲刺三总结

    一转眼所有的冲刺都完成了,而今次的冲刺主要是完善数据库,而我们 也成功地实现了,虽然过程很艰辛,但是我们每一个人都学习到了很多新 知识,这是最好的收获.因为今学期没有软件工程的课程,所以大家都是 利用 ...

  2. springMVC中Dispatcher中的/和/*的区别

    1. 首先 / 这个是表示默认的路径,及表示:当没有找到可以匹配的URL就用这个URL去匹配.2. 在springmvc中可以配置多个DispatcherServlet,比如: 配置多个Dispatc ...

  3. Winform开发的界面处理优化

    在Winform开发中,客户体验是个很好的参考性指标,如果一个功能使用的时候感觉很流畅,说明我们的程序执行效率还不错,但是随着数据的真多,原先可能流程的地方可能会变得比较卡,这时候就需要追本索源,找到 ...

  4. C#-Windows服務以LocalSystem賬戶安裝的話無法獲取我的文檔路徑

    如圖,如果Window服務以上圖 Account安裝運行,則無法獲取到 以下路徑: System.Environment.GetFolderPath(Environment.SpecialFolder ...

  5. PhpWind 8.7中禁止后台管理员随意修改会员用户名功能

    有人反映PHPWind 8.7中后台可以直接修改用户名的功能太过随意,干脆禁掉. OK,研究一下他的代码,admin/usermange.php  tempalate/admin/usermange. ...

  6. jquery 全选 全不选 反选

    1.概述 在项目中经常遇到列表中对复选框进行勾选操作,全选...反选.. 2. example <html> <body> <form id="test-for ...

  7. activiti 工作流

    1. 工作流的概念 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实 ...

  8. 由简入繁实现Jquery树状结构

    在项目中,我们经常会需要一些树状结构的样式来显示层级结构等,比如下图的样式,之前在学.net的时候可以直接拖个服务端控件过来直接使用非常方便.但是利用Jquery的一些插件,也是可以实现这些效果的,比 ...

  9. 【GOF23设计模式】桥接模式

    来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_桥接模式.多层继承结构.银行日志管理.管理系统消息管理.人力资源的奖金计算  未用桥接模式: package com.te ...

  10. Echarts图表控件使用总结1(Line,Bar)

    问题篇(详解):http://www.cnblogs.com/hanyinglong/p/4708337.html 1.前言 a.在系统开发过程中可能会使用到图表控件,一个好的图标控件可以使我们的网站 ...