《jsp项目开发全程实录》第一章求助01
发表在JavaWeb图书答疑 2010-04-24
是否精华
版块置顶:
都市供求信息网项目,数据库连接我改成用ODBC桥方式,建立数据源,然后加载它!不用SQL驱动,不知道理论上可以否?
分享到:
精彩评论 2
柠檬草
学分:0 LV1
2010-04-26
沙发
您说的方案是可行的,实现步骤如下:

建立JDBC——ODBC桥接器(加载驱动)
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)//第一步加载驱动
Class是包java.sql中的一个类,该类通过调用他的静态方法forName就可以建立JDBC—ODBC桥接器。
注意:建立桥接器时可能发生异常,因此必须捕获这个异常。所以建立桥接器的标准方法是
try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); }
catch(ClassNotFoundException e){}

连接到数据库
首先使用包java.spl中的Connection类声明一个连接对象,再使用类DriveManager(驱动程序管理器)调用它的静态方法getConnection来获得一个连接.
Connection con=DriverManager.getConnection(“jdbc:odbc:数据源名字”,“登录名login name”,“密码password”);
//第二步创建连接对象,调用DriverManager类中的getConnection()方法与数据库进行连接
假如上一步骤中没有为数据源设置Login name 和Password ,那么连接形式是:
Connection con=DriverManager.getConnection(“jdbc:odbc:数据源名字”,“”,“”);用户名和密码为空.
为了能和数据源chengjibiao交换数据,先建立Connection对象如下:
Connection con=DriverManager.getConnection(“jdbc:odbc:chengjibiao”,“sa”,“”);
建立连接时应捕获SQLException异常。
try {Connection con = DriverManager.getConnection ( “ jdbc:odbc:chengjibiao”,“sa”,“”); }
catch(SQLException e) {}
这样就建立了到数据库的连接。
Static Connection getConnection(String url,String user,String password)连接到指定的URL的数据库,使用用户名为user,密码为:password
其中JDBC的url的语法如下:
  jdbc:<subprotocol>:<subname>
      子协议     子名(一般情况下都是数据源的名字)
例如:
  String url=”jdbc:odbc:chengjibiao”;
  Connection con=DriverManager.getConnection(url,”用户名”,”密码”); 
向数据库发送SQL语句
首先使用Statement 声明一个stat对象,然后通过刚才创建的连接数据库的对象con 调用createStatment()方法就可以得到statement的实例.如:
Statement stat=con.createStatement(); //第三步 通过连接对象con建立连接状态
Statement提供了许多的方法,最常用的如下:
execute():运行语句,返回是否有结果集.
executeQuery():运行查询语句调用此方法,返回ResultSet对象.//重点*
executeUpdate():运行插入、删除、修改等操作时调用此.//重点*

处理查询结果
有了stat对象后,就可以调用相应的方法实现对数据库的查询和修改。并将查询结果存放在一个ResultSet 类声明的对象rs中,也就是说stat语句对数据库的查询操作将返回一个ResultSet对象。而插入、删除、修改则不返回ResultSet的对象。

Resultset rs=stat.executeQuery(“SELECT * FROM   chengjibiao”);
//第四步 执行查询或更新语句的操作,查询用executeQuery(),更新用executeUpdate()方法.
                          查询             增,删,改
其中rs用来接收返回的对象.
ResultSet对象实际上是一个管式资料集,即它是由统一形式的列组织的数据行组成。
ResultSet对象一次只能看到一个数据行,要使用next()方法走到下一个数据行。通过rs.next()方法把当前的指针向下移动一位,注意:最初它位于第一行之前,因此第一次调用next()方法把指针置于第一行上,使它成为当前行.随着每次调用next()方法导致指针向下移动,按照从上至下的次序获取rs行(记录集).
例:     while(rs.next())
        {   
          name=rs.getString("姓名");
          math=rs.getInt("数学");
          physics=rs.getInt("物理");
          english=rs.getInt("英语");
        }
ResultSet提供了检索不同类型字段的方法,最常用的方法介绍如下:
getString()获得在数据库里是varchar,char等数据类型的对象.
getFloat()获得在数据库里是Float数据类型的对象.
getDouble()获得在数据库里是Double行数据类型的对象.
getDate()获得在数据库里是Date数据类型的对象.
getObject()在SQL中无对应类型,可以获得序列化对象.
关闭数据库
con.close();

ciyubian0516
学分:0 LV1
TA的每日心情
奋斗
2020-11-30 12:55:42
2012-11-14
板凳
都市供求信息网 jar包 在哪下载啊
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照