JDBC连接SQL Server2008基本格式及示例代码

fmms 9年前

     下面的代码显示了连接SQL Server数据库时,
连接数据库的步骤:
1、注册驱动 (只做一次)

2、建立连接(Connection)
3、创建执行SQL的语句(Statement)

4、执行语句

5、处理执行结果(ResultSet)

6、释放资源


建立连接的方法:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");                 //加载数据库引擎,返回给定字符串名的类  String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";                //test为你的数据库的名称  String user="用户名";  String password="密码";    Connection conn=DriverManager.getConnection(url,user,password);                  //连接数据库对象  Statement stmt=conn.createStatement();            //创建SQL命令对象      String query="";//创建表SQL语句  stmt.executeUpdate(query);//执行SQL命令对象    String a="INSERT/DELETE.... INTO/FROM “表名” VALUES(....,...)";  ....  ....  ....  stmt.executeUpdate(a);//执行SQL命令对象    //读取数据  ResultSet rs=stmt.executeQuery("SELECT * FROM “表名”");  //循环输出每一条记录    rs最初指向第一条记录的前面  while(rs.next){        }    最后关闭连接  stmt.close();  con.close();    数据库连接(Connection)是非常稀有的资源,用完后必须马上释放,  如果Connection不能及时正确的关闭将导致系统宕机。  Connection的使用原则是尽量晚创建,尽量早的释放。
下面分别给出插入、修改、删除、查询的基本方式的代码:

插入数据:

import java.sql.*;    /**   * @version 2012-02-22   * @author    */  public class InsertDemo {   public static void main(String[] args) throws SQLException {    Connection conn = null;    Statement stmt = null;    String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL鏁版嵁搴撳紩鎿�    String connectDB="jdbc:sqlserver://localhost:1433;DatabaseName=JDBCTest";//鏁版嵁婧惵�    String user="sa";    String pwd="sql";    try {     // 动态导入数据库的驱动      Class.forName(JDriver);     // 获取数据库链接      conn = DriverManager.getConnection(connectDB,user,pwd);     // 创造SQL语句      String sql = "INSERT INTO JDBCTestTable ( user_name, user_password ) VALUES ( 'balabala', '123456' )";     // 执行SQL语句      stmt = conn.createStatement();     stmt.executeUpdate(sql);     System.out.println("插入数据成功");    } catch (Exception e) {      e.printStackTrace();     stmt.close();     conn.close();    }   }  }
修改数据:
import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.SQLException;  import java.sql.Statement;    public class UpdateDemo {     public static void main(String[] args) throws SQLException {    Connection conn = null;    Statement stmt = null;    try {     // 动态导入数据库的驱动     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");     // 获取数据库链接     conn = DriverManager.getConnection(       "jdbc:sqlserver://localhost:1433;DatabaseName=JDBCTest",       "sa", "sql");     // 创造SQL语句     String sql = "UPDATE JDBCTestTable SET user_password = '456' WHERE user_name = 'Eric'";     // 执行SQL语句     stmt = conn.createStatement();     stmt.executeUpdate(sql);     System.out.println("更新数据成功");    } catch (Exception e) {     e.printStackTrace();     stmt.close();     conn.close();    }   }  }
删除数据:
import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.Statement;    public class DeleteDemo {     public static void main(String[] args){    String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";    String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=JDBCTest";    String user="sa";    String password="sqlyanghai";    try{     Class.forName(JDriver);// 动态导入数据库的驱动     Connection conn=DriverManager.getConnection(url, user, password);// 获取数据库链接      String query="DELETE FROM JDBCTestTable WHERE user_name='Eric'";// 创造SQL语句      Statement stmt=conn.createStatement();// 执行SQL语句     stmt.executeUpdate(query);     System.out.println("删除数据成功");     stmt.close();     conn.close();    }catch(Exception e){     e.printStackTrace();    }   }  }
查询数据:
import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.ResultSet;  import java.sql.Statement;    public class QueryDemo {     public static void main(String[] args){    String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";    String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=JDBCTest";    String user="sa";    String password="sql";    try{     Class.forName(JDriver);// 动态导入数据库的驱动     Connection conn=DriverManager.getConnection(url, user, password);// 获取数据库链接      String query="SELECT * FROM JDBCTestTable";// 创造SQL语句      Statement stmt=conn.createStatement();// 执行SQL语句     ResultSet rs=stmt.executeQuery(query);     while(rs.next()){      System.out.println(rs.getString("user_name")+":"+rs.getString(2));      //密码字段的编号从1开始,密码排第二位     }     System.out.println("查询数据成功");     rs.close();     stmt.close();     conn.close();    }catch(Exception e){     e.printStackTrace();    }   }  }
转自:http://blog.csdn.net/yanghai0321/article/details/7288363