1、JAVA操作SQL Server数据库的两种方式JAVA操作SQL Server数据库的两种方式 说明:首先出现的是jdbc-odbc操作SQL Server数据库,jdbc是后来出现的,是对前一种不足的改进;在后来就出现了hibernate,对所有的数据库操作进行了底层封装;本人现在把前两种方法截图,希望能帮助到新手朋友;如果遇到不可解决的问题,可以联系本人:QQ289757464【重楼】-2012-9-21方式一:jdbc-odbc 打开“控制面板”; 找到“管理工具” 找到“数据源” 打开ODBC数据源管理器说明:用户DNS,就是只有当前用户帐户的用户才能使用,就是在以后登录后,也只有这
2、个用户才可以使用,此配置,默认是系统管理员Administrators;“系统DNS”,就是只要能登陆当前机器,就可以使用此配置的数据源; 找到数据库类型-本人当前演示使用微软的SQL Server数据库,就选择最下面那个选项; 命名数据源的名字,一般建议把数据源的名字与要连接的数据库实例名一致; 选择数据库的登录方式;登录方式一:就是能使用本机的用户都可以登录;登录方式二:就是虽然能登陆本计算机,但是连接的使用是需要输入数据库系统的密码的;本人喜欢用第二种,也推荐使用此方法;选择数据库名字使用默认,点击完成 点击测试,看配置是否有误; 测试成功,点击“确定”; 点击“确定” 在eclipse
3、中写一个类,进行测试;/* * 演示使用jdbc-odbc桥连接方式操作数据库 * 1:配置数据源 * 2:在程序中连接数据库源 * 3: * * */package com.jdbc;import java.sql.*;public class Demo1 public static void main(String args) throws SQLException Connection ct=null; Statement sm=null; try /1 加载驱动(作用是把需要的驱动程序加入到内存) Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
4、 /2 得到连接指定连接哪个数据库源,用户名,密码 /如果你配置数据源的时候,选择的是windows nt验证,则不需要在填写用户名和密码了sa,sa /Connection ct=DriverManager.getConnection(jdbc:odbc:mytest);即可 ct=DriverManager.getConnection(jdbc:odbc:mytest,sa,sa); /3 创建statement或者PreparedStatement后者安全些 /Statement的作用的发送SQL语句 sm=ct.createStatement(); /4 执行相关操作(crud ,创建
5、数据库,备份数据库,删除数据库等) /1 演示添加一条数据到dept表 /executeUpdate可以执行cud操作(添加,删除,修改)executeQuery可以执行r操作(查询) int i=sm.executeUpdate(insert into dept values(50,保安部,西永); if(i=1) System.out.println(添加); else System.out.println(添加error); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTra
6、ce(); finally /关闭资源!-注意顺序 try if(sm!=null)/使程序更加健壮 sm.close(); ct.close(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); 运行程序后,一条记录添加成功!方式二:纯jdbc操作说明:方式二是不要配置数据源的,只要引入数据库驱动包即可,在编写代码时,加载的驱动,连接方式有一点不同,其他的都一样; 编写测试代码/* * JDBC操作数据库 * 1 * */package com.jdbc;import java.sql
7、.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class Demo2 /* * param args */ public static void main(String args) /定义需要的对象 PreparedStatement ps=null; Connection ct=null; ResultSet rs=null; try /初始化我们的对象 /1 加载驱动 Class.forName(com.microsof
8、t.jdbc.sqlserver.SQLServerDriver); /2 得到连接 ct=DriverManager.getConnection(jdbc:microsoft:sqlserver:/127.0.0.1:1433;databaseName=spdb1,sa,sa); /3 创建语句发送对象 ps=ct.prepareStatement(select * from emp); /4 执行(如果是增加,删除,修改用executeUpdate();如果是查询用executeQuery()) rs=ps.executeQuery(); /循环的取出 /如果查询表的全部,完整记录,取的时候就要按照表的字段的顺序 /如果是取出某些字段,就按照这些字段的顺序取; while(rs.next()/让游标下向移动 String name=rs.getString(2); float sal=rs.getFloat(6); int deptno=rs.getInt(8); System.out.println(name=+name); System.out.println(sal=+sal); System.out.println(deptno=+deptno); catch (Exception e) 加载驱动 运行测试程序
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1