JAVA连接SQL_2008,通过JDBC_ODBC连接

来源:互联网 发布:供给侧 知乎 编辑:程序博客网 时间:2024/05/17 23:30

JAVA连接SQL_2008,通过JDBC_ODBC连接


/** * 功能:演示使用JDBC-ODBC桥连的方式连接数据库 * 1、配置数据源 * 2、在程序中去连接数据源 * 3、创建Statement 或者 PreparedStatement[区别] * 4、执行(CRUD,创建数据库,备份数据库,删除数据库) */package SQL_ceshi_a;import java.sql.*; //引入包public class test_sql {public static void main(String[] args) {// TODO Auto-generated method stubConnection ct=null;Statement  sm=null;try{//1、加载驱动Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//2、得到连接[指定连接到哪个数据源,用户名和密码]//如果你配置数据源的时候,选择的是windows nt验证,则不需要“sa”,"123456"//即ct=DriverManager.getConnection("jdbc:odbc:mytest","sa","123456");//windows NT验证方式ct=DriverManager.getConnection("jdbc:odbc:mytest","sa","123456");//SQL_用户名//3、创建Statement 或者 PreparedStatement[区别]//Statement:主要用于发送SQL语句sm=ct.createStatement();//4、执行(CRUD,创建数据库,备份数据库,删除数据库)//01、演示添加一条数据到hero表//executeUpdate可以执行CUD操作sm.executeUpdate("insert into hero values(8,'宋江','及时雨','男',2000)");System.out.println("insert OK");//}catch(Exception e){e.printStackTrace();}finally{//关闭资源!!!!!!//Connection Statement是资源都得予以关闭    //关闭的顺序:谁先创建,谁后关闭try {//为了程序健壮if(sm!=null){sm.close();}if(ct!=null){ct.close();}} catch (SQLException e) {e.printStackTrace();}}}}  


+++++++++++++++++++++++++

包含增加、删除、修改、查找!

+++++++++++++++++++++++++++++++++++++

/** * 功能:演示使用JDBC-ODBC桥连的方式连接数据库 * 1、配置数据源 * 2、在程序中去连接数据源 * 3、创建Statement 或者 PreparedStatement[区别] * 4、执行(CRUD,创建数据库,备份数据库,删除数据库) */package SQL_ceshi_a;import java.sql.*; //引入包public class test_sql {public static void main(String[] args) {// TODO Auto-generated method stubConnection ct=null;Statement  sm=null;try{//1、加载驱动Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//2、得到连接[指定连接到哪个数据源,用户名和密码]//如果你配置数据源的时候,选择的是windows nt验证,则不需要“sa”,"123456"//即ct=DriverManager.getConnection("jdbc:odbc:mytest","sa","123456");//windows NT验证方式ct=DriverManager.getConnection("jdbc:odbc:mytest","sa","123456");//SQL_用户名//3、创建Statement 或者 PreparedStatement[区别]//Statement:主要用于发送SQL语句sm=ct.createStatement();//4、执行(CRUD,创建数据库,备份数据库,删除数据库)//01、演示添加一条数据到hero表  [返回int类型数据]//executeUpdate可以执行CUD操作//sm.executeUpdate("insert into hero values(8,'宋江','及时雨','男',2000)"); //插入数据//sm.executeUpdate("delete from hero where heroID=‘8’"); //删除数据//02、演示修改hero表一条数据//sm.executeUpdate("update hero set sal=10000 where heroID='7'");//03、演示查询  --显示所有的hero//ResultSet:结果集    大家可以把ResultSet理解成一个表行的结果集ResultSet rs=sm.executeQuery("select * from hero");//因为rs指向结果集的第一行的前一行【实际为空的】//不知道有多少个结果,需要循环取出//试图取出第一行第一列//rs.next();//int a=rs.getInt(1);//System.out.println(a);//试图取出第一行第二列//String b=rs.getString(2);//System.out.println(b);//试图全部取出while(rs.next()){int heroID=rs.getInt(1);String heroName=rs.getString(2);String heroNickName=rs.getString(3);String sex=rs.getString(4);int sal=rs.getInt(5);System.out.println(heroID+" "+heroName+" "+heroNickName+" "+sex+" "+sal+" ");}}catch(Exception e){e.printStackTrace();}finally{//关闭资源!!!!!!//Connection Statement是资源都得予以关闭    //关闭的顺序:谁先创建,谁后关闭try {//为了程序健壮if(sm!=null){sm.close();}if(ct!=null){ct.close();}} catch (SQLException e) {e.printStackTrace();}}}}

++++++++++++++++++++++++++++++++++++++++++++

//查询第一列中heroID=2的行

++++++++++++++++++++++++++++++++++++++++++++


                        ps=ct.prepareStatement("select * from hero where heroID=?");ps.setInt(1,2);  //查询第一列中heroID=2的行rs=ps.executeQuery();while(rs.next()){int heroID=rs.getInt(1);String heroName=rs.getString(2);String heroNickName=rs.getString(3);String sex=rs.getString(4);int sal=rs.getInt(5);System.out.println(heroID+" "+heroName+" "+heroNickName+" "+sex+" "+sal+" ");}




原创粉丝点击