??xml version="1.0" encoding="utf-8" standalone="yes"?>国产色综合网,亚洲综合清纯丝袜自拍,99热在线网站http://www.aygfsteel.com/yanpeng/articles/85600.html宝贝猪?/dc:creator>宝贝猪?/author>Tue, 05 Dec 2006 08:04:00 GMThttp://www.aygfsteel.com/yanpeng/articles/85600.htmlhttp://www.aygfsteel.com/yanpeng/comments/85600.htmlhttp://www.aygfsteel.com/yanpeng/articles/85600.html#Feedback0http://www.aygfsteel.com/yanpeng/comments/commentRss/85600.htmlhttp://www.aygfsteel.com/yanpeng/services/trackbacks/85600.html ?PreparedStatement 接口l承 StatementQƈ与之在两斚w有所不同Q?br />PreparedStatement 实例包含已编译的 SQL 语句。这是使语句“准备好”。包含于 PreparedStatement 对象中的 SQL 语句可具有一个或多个 IN 参数。IN参数的值在 SQL 语句创徏时未被指定。相反的Q该语句为每?IN 参数保留一个问P“?”)作ؓ占位W。每个问L值必d该语句执行之前,通过适当的setXXX Ҏ来提供?br />׃ PreparedStatement 对象已预~译q,所以其执行速度要快?Statement 对象。因此,多次执行?SQL 语句l常创徏?PreparedStatement 对象Q以提高效率?br />作ؓ Statement 的子c,PreparedStatement l承?Statement 的所有功能。另外它q添加了一整套ҎQ用于设|发送给数据库以取代 IN 参数占位W的倹{同Ӟ三种Ҏ execute?executeQuery ?executeUpdate 已被更改以之不再需要参数。这些方法的 Statement 形式Q接?SQL 语句参数的Ş式)不应该用?PreparedStatement 对象?br />1、创?PreparedStatement 对象

  以下的代码段Q其?con ?Connection 对象Q创建包含带两个 IN 参数占位W的 SQL 语句?PreparedStatement 对象Q?br />
PreparedStatement pstmt = con.prepareStatement("UPDATE table4 SET m = ? WHERE x = ?");

  pstmt 对象包含语句 "UPDATE table4 SET m = ? WHERE x = ?"Q它已发送给DBMSQƈ为执行作好了准备?br />
  2、传?IN 参数

  在执?PreparedStatement 对象之前Q必设|每?? 参数的倹{这可通过调用 setXXX Ҏ来完成,其中 XXX 是与该参数相应的cd。例如,如果参数hJava cd longQ则使用的方法就?setLong。setXXX Ҏ的第一个参数是要设|的参数的序C|,W二个参数是讄l该参数的倹{例如,以下代码第一个参数设?123456789Q第二个参数设ؓ 100000000Q?br />

pstmt.setLong(1, 123456789);
pstmt.setLong(2, 100000000);

  一旦设|了l定语句的参数|可用它多次执行该语句,直到调用clearParameters Ҏ清除它ؓ止。在q接的缺省模式下Q启用自动提交)Q当语句完成时将自动提交或还原该语句?br />
  如果基本数据库和驱动E序在语句提交之后仍保持q些语句的打开状态,则同一?PreparedStatement 可执行多ơ。如果这一点不成立Q那么试N过使用PreparedStatement 对象代替 Statement 对象来提高性能是没有意义的?br />
  利用 pstmtQ前面创建的 PreparedStatement 对象Q,以下代码例示了如何设|两个参数占位符的值ƈ执行 pstmt 10 ơ。如上所qͼ为做到这一点,数据库不能关?pstmt。在该示例中Q第一个参数被讄?"Hi"q保持ؓ常数。在 for 循环中,每次都将W二个参数设|ؓ不同的|?0 开始,?9 l束?br />
pstmt.setString(1, "Hi");
for (int i = 0; i < 10; i++) {
 pstmt.setInt(2, i);
 int rowCount = pstmt.executeUpdate();
}

  3、IN 参数中数据类型的一致?br />
  setXXX Ҏ中的 XXX ?Java cd。它是一U隐含的 JDBC cdQ一?SQL cdQ,因ؓ驱动E序把 Java cd映射为相应的 JDBC cdQ遵循该 JDBCGuide中?.6.2 “映?Java ?JDBC cd”表中所指定的映)Qƈ该 JDBC cd发送给数据库。例如,以下代码D将 PreparedStatement 对象 pstmt 的第二个参数讄?44QJava cd?shortQ?br />
pstmt.setShort(2, 44);

  驱动E序?44 作ؓ JDBC SMALLINT 发送给数据库,它是 Java short cd的标准映?br />
  E序员的责Q是确保将每个 IN 参数?Java cd映射Z数据库所需?JDBC 数据cd兼容?JDBC cd。不妨考虑数据库需?JDBC SMALLINT 的情c如果用方?setByte Q则驱动E序?JDBC TINYINT 发送给数据库。这是可行的Q因多数据库可从一U相关的cd转换为另一U类型,q且通常 TINYINT 可用于SMALLINT 适用的Q何地?/font>

]]>
jdbc性能优化http://www.aygfsteel.com/yanpeng/articles/84840.html宝贝猪?/dc:creator>宝贝猪?/author>Fri, 01 Dec 2006 06:56:00 GMThttp://www.aygfsteel.com/yanpeng/articles/84840.htmlhttp://www.aygfsteel.com/yanpeng/comments/84840.htmlhttp://www.aygfsteel.com/yanpeng/articles/84840.html#Feedback0http://www.aygfsteel.com/yanpeng/comments/commentRss/84840.htmlhttp://www.aygfsteel.com/yanpeng/services/trackbacks/84840.htmljdbcE序的性能主要׃个因素决?一是数据库本n的性质,另一个是与数据库相对独立的jdbc应用E序接口(api)的?
q里说的是如何正用jdbc~程接口,以获得更好的性能.
  jdbc主要优化?
     1.选择正确的jdbc驱动E序
     2.Connention的优化?使用q接池来理Connection对象
     3.Statement的优化 ?使用扚w更新{?br />     4.Result的优化?正确的从数据库中get数据{?br />    
     (1)选择正确的jdbc驱动E序:
            1 jdbc-odbc ?br />            2 本地api-部分 java驱动
            3 jdbc|\协议-Ujava驱动
            4 jdbc本地协议
        最好选择 jdbc|\协议-Ujava驱动  效率比较高?但需要第三方软g的支?比如corba  weblogic属于q种cd
   
     (2)优化Connection对象:
         1.讄适当的参敊W?DriverManager.getConnection(String url,Properties props);
                 例如:     Properties props=new Properties();
                              props.put("user","wuwei");
                              props.put("password","wuwei");
                              props.put("defaultRowPrefectch","30");
                              props.put("dufaultBatchValue","5");
                              Connection con=DriverManager.getConnection("jdbc:oracle:thin:@hostsString",props);
             对象可以通过讄setDefaultRowPrefetch(int) ?setDefaultBatchValue(int) 两个参数cM化连?br /> 
          2.使用q接池?可以自己写一个连接池 q样E序的灵zL强,便于UL.
             apache目开发了一套非帔R用而表现非常稳定的对象?http://jakarta.apache.org/commons/pool.htm
             设计了自qq接池后 在客L调用建立对象
                           public Object makeObject() throws Exception{
                                     Class.forName("oracle.jdbc.driver.OracalDriver");
                                     return DriverManager.getConnection("url","username","password");
                                     }
             销毁对象时?br />                           publicvoid destroyObject(Object obj) throws Exception{
                                       ((Connection)obj.close());
                                       }
              注意几点 对象池里有没有回收机?对象池里有机有容量限?对象池里有多个闲置对象(可以释放)        
  
           3.控制事务的提交?最好手动提交事?不但可以可以保证数据原子?而且Ҏ能提高留下余?
                   try{
                        connection.setAutoCommint(false);
                        // 代码 用PreparedStatement  性能比Statementh?
 
                        connection.commit();
                        connection.setAutoCommit(true);
                          }
                   catch(SQLException e){
                   }
                   finally{
                           //代码
                           if(connection!=null){
                           connection.close();  
                           }
 
 
            4.适当的选择事务的隔ȝ别  ?br />                                     TRANSACTION_READ_UNCOMMITED  性能最?br />                                     TRANSACTION_READ_COMMITED    ?br />                                     TRANSACTION_REFEATABLE_READ  中等
                                     RANSACTION_SERIALIZABLE      ?br />
   (3)Statement 优化
      jdbc3个接口用来处理sql的执?是Statement PreparedStatement CallableStatement
          提供适当的Statement接口
          扚w执行sql
          从数据库扚w获取数据
      PreparedStatement 比Statement性能要好 主要体现在一个sql语句多次重复执行的情?br />      PreparedStatemnt只编译解析一ơ而Statement每次~译一?
     
      扚w修改数据库  ?br />          Statement 提供了方法addBatch(String)和executeBatch()
          调用Ҏ为stmt.addBatch("isnert....."); stmt.addBatch("update.....")
                          stmt.executeBatch();
          也可以用PreparedStatement从而更好的提高性能.
                pstmt=conn.preparedStatement("insert into test_table(......) values(....?)");
                pstmt.setString(1,"aaa");
                pstmt.addBatch();
                pstmt.setString(1,"bbb");
                pstmt.addBatch();
                .....
                pstmt.executeBatch();

      扚wC数据库中取数?
          通过setFetchSize()和getFectchSize()Ҏ来设定和查看q个参数.q个参数对体l的性能影响比较?
          q个参数太小会严重地降低E序地性能.
          Connection Statement ResultSet都有q个参数,他们Ҏ能地媄响顺序是:
             ResultSet---------Statement---------Connection
  (4)优化ResultSet.
     体现在以下几个方?br />        扚wd数据.合理讄ResultSet的getFetchSize()和setFetchSize()Ҏ中的参数
        使用正确的get和setҎ
             使用整数而不是字D名作ؓ参数性能比较?
             例如 setInt(1,100);
                  setString(2,"aaaa");
               ?setInt("id","100");
                  setString("name","aaaa");
               性能?br />        讄适当的滚动方??个方向FETCH_FORWORD,FETCH_REVERSE FETCH_UNKNOWN
             单向滚动性能比较?
  其他斚w的性能优化
      及时昄的关闭Connection Statement ResultSet
          其中Connection可以用Connetion Pool处理.
      使用数据库系l的强大查询功能ȝl数?q样E序q行是和数据库服务的交互ơ数?数据库返回给
      E序的记录条数少的多,所以性能有很大的提高.


宝贝猪?/a> 2006-12-01 14:56 发表评论
]]>q接方式http://www.aygfsteel.com/yanpeng/articles/84836.html宝贝猪?/dc:creator>宝贝猪?/author>Fri, 01 Dec 2006 06:48:00 GMThttp://www.aygfsteel.com/yanpeng/articles/84836.htmlhttp://www.aygfsteel.com/yanpeng/comments/84836.htmlhttp://www.aygfsteel.com/yanpeng/articles/84836.html#Feedback0http://www.aygfsteel.com/yanpeng/comments/commentRss/84836.htmlhttp://www.aygfsteel.com/yanpeng/services/trackbacks/84836.htmlq接Oracle数据?br />  获得Oracle的驱动程序包classes12.jar
  把Oracle的驱动程序到\WEB-INF\lib?br />  Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
  Connection conn= DriverManager.getConnectionQ?jdbc:oracle:thin:@localhost:1521:数据?Q?用户?Q?密码"Q?

q接MYSQL数据?br />  获得MySQL的驱动程序包mysql-connector-java-3.0.15-ga-binQmysqldriver.jarQ?br />  拯到\WEB-INF\lib?br />  Class.forName("org.gjt.mm.mysql.Driver").newInstance();
  Connection conn= DriverManager.getConnectionQ?jdbc:mysql://localhost/testDB"Q?用户?Q?密码"  Q?


q接Sql 2000数据?br />  获得SQL直接的驱动程序包msbase.jar和mssqlserver.jar和msutil.jar
  把驱动程序包攑ֈ\WEB-INF\lib?br />  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
  Connection conn= DriverManager.getConnectionQ  ?"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=数据?"Q?用户?Q?密码"Q?


桥连
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();;
Connection con=DriverManager.getConnection("jdbc:odbc:odbc?,"用户?,"密码");


记录集(涉及C么时候关闭连接的头疼问题Q常用的如LIST{对象)
  1、Statement stat=con.prepareStatement("select * from Login where id=?");
   stat.setString(1,textPinNo.getText());
  ResultSet result=stat.executeQuery();
  注:("select * from Login where(?,?,?,?,?)")应该与数据库对应
  2、Statement stat=con.prepareStatement("select * from Login where id="+变量);
  ResultSet result=stat.executeQuery();
  如果是非查询语句Q则int i=stat.executeUpdate();
Q注Q驱动后的?newInstance()”可以不加。声明、记录集最基本的是statement、ResultSetQ?br />




]]>
JDBCq接SqlServer2005数据?/title><link>http://www.aygfsteel.com/yanpeng/articles/84831.html</link><dc:creator>宝贝猪?/dc:creator><author>宝贝猪?/author><pubDate>Fri, 01 Dec 2006 06:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/yanpeng/articles/84831.html</guid><wfw:comment>http://www.aygfsteel.com/yanpeng/comments/84831.html</wfw:comment><comments>http://www.aygfsteel.com/yanpeng/articles/84831.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/yanpeng/comments/commentRss/84831.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/yanpeng/services/trackbacks/84831.html</trackback:ping><description><![CDATA[ <p align="left"> <span> <font color="#00ccff">一、下载安?/font> </span> <span> <br />1</span> <span>?/span> <span>SqlServer 2005 Express Edition<br />   </span> <span>下蝲Q?/span> <span> <a > <span>http://msdn.microsoft.com/vstudio/express/sql/download/</span> </a> <br />   </span> <span>安装完数据库后设|?/span> <span>ICP/IP</span> <span>协议启动Q具体如下:</span> <span> <br />   </span> <span>Q?/span> <span>1</span> <span>Q打开</span> <span>SQL Server Configuration Manager<br />   </span> <span>Q?/span> <span>2</span> <span>Q{?/span> <span>SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS<br />   </span> <span>Q?/span> <span>3</span> <span>Q将</span> <span>TCP/IP</span> <span>讄?/span> <span>Enabled</span> <span>Q启用)</span> <span> <br />   </span> <span>Q?/span> <span>4</span> <span>Q双?/span> <span>TCP/IP</span> <span>,转到</span> <span>IP Addresses</span> <span>?/span> <span> <br />   </span> <span>Q?/span> <span>5</span> <span>Q?/span> <span>IP All</span> <span>中设|?/span> <span>TCP Port</span> <span>?/span> <span>1433<br />   </span> <span>Q?/span> <span>6</span> <span>Q重新启动服?/span> <span> <br />2</span> <span>?/span> <span>SqlServer2005</span> <span>数据?/span> <span>JDBC</span> <span>驱动</span> <span> <br />   </span> <span>下蝲Q?/span> <span> <a > <span>http://download.microsoft.com/download/d/2/e/d2e1ffb6-2cfa-4a62-a22d-a413cce93118/Download_SQL_JDBC_Driver.htm</span> </a> <br />   </span> <span>安装或者解压,取得</span> <span>sqljdbc.jar</span> <span>文gQ该文g即ؓ</span> <span>JDBC</span> <span>驱动。将</span> <span>sqljdbc.jar</span> <span>攑ֈ</span> <span>classpath</span> <span>。(</span> <span>web application</span> <span>中放?/span> <span>WEB-INF/lib</span> <span>下)</span> </p> <p align="left"> <font color="#00ccff"> <span>二、连接数据库</span> <span>SqlServer2005</span> <span>?/span> <span>java</span> <span>代码</span> </font> <span> <br />1</span> <span>、在</span> <span>tempdb</span> <span>中创建测试数据表?/span> <span> <br />use tempdb<br />CREATE TABLE dbo.Table_1<br />(<br /> ID bigint NOT NULL,<br /> NAME varchar(20) NOT NULL,<br /> EMAIL varchar(50) NULL<br />)  ON [PRIMARY]</span> </p> <p align="left"> <span>2</span> <span>、测试用数据库q接</span> <span> <br />   </span> <span>下面代码创徏了一个连接到数据库的q接Q及使用q接操作数据库?/span> <span> <br />/*<br /> * </span> <span>创徏日期</span> <span> 2006-6-1<br /> */<br />package cn.afss.common.web.test;</span> </p> <p align="left"> <span>import java.sql.Connection;<br />import java.sql.DriverManager;<br />import java.sql.ResultSet;<br />import java.sql.SQLException;<br />import java.sql.Statement;</span> </p> <p align="left"> <span>import org.apache.log4j.Logger;</span> </p> <p align="left"> <span>/**<br /> * @author Amei<br /> * Amei's FreeSky Studio<br /> */<br />public class TestConnSql2k5Bean {<br /> /**<br />  * Log4J Logger for this class<br />  */<br /> private static final Logger logger =<br />  Logger.getLogger(TestConnSql2k5Bean.class);<br /> private Connection conn = null;</span> </p> <p align="left"> <span> public TestConnSql2k5Bean() {<br />  super();<br /> }</span> </p> <p align="left"> <span> public void getConnection() {<br />  try {<br />   Class<br />    .forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")<br />    .newInstance();<br />   String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";<br />   String USER = "sa"; // </span> <span>Ҏ你自p|的数据库连接用戯行设|?/span> <span> <br />   String PASSWORD = "sa"; // </span> <span>Ҏ你自p|的数据库连接密码进行设|?/span> <span> <br />   conn = DriverManager.getConnection(URL, USER, PASSWORD);<br />  } catch (java.lang.ClassNotFoundException ce) {<br />   logger.error("Get Connection error:", ce);<br />  } catch (java.sql.SQLException se) {<br />   logger.error("Get Connection error:", se);<br />  } catch (Exception e) {<br />   logger.error("Get Connection error:", e);<br />  }<br /> }</span> </p> <p align="left"> <span> public void testConnection() {<br />  if (conn == null)<br />   this.getConnection();<br />  try {<br />   String sql = "SELECT * FROM TABLE_1";<br />   Statement stmt = conn.createStatement();<br />   ResultSet rs = stmt.executeQuery(sql);<br />   while (rs.next()) {<br />    logger.debug(rs.getString("ID"));<br />    logger.debug(rs.getString("NAME"));<br />    logger.debug(rs.getString("EMAIL"));<br />   }<br />   rs.close();<br />   stmt.close();<br />  } catch (SQLException e) {<br />   logger.error(e.getMessage(), e);<br />  } finally {<br />   if (conn != null)<br />    try {<br />     conn.close();<br />    } catch (SQLException e) {<br />    }<br />  }<br /> }<br /> public static void main(String[] args) {<br />  TestConnSql2k5Bean bean = new TestConnSql2k5Bean();<br />  bean.testConnection();<br /> }<br />}</span> </p> <p align="left"> <font color="#00ccff"> <span>三?/span> <span>Sql Server2000</span> <span>?/span> <span>2005</span> <span>的连接代码区?/span> </font> <span> <br />   </span> <span>写连接代码时需要注?/span> <span>2000</span> <span>?/span> <span>2005</span> <span>的不同:</span> <span> <br />1</span> <span>、连?/span> <span>SqlServer2000<br />  Class.forName("com.microsoft.<font color="#ff0000">jdbc.sqlserver</font>.SQLServerDriver").newInstance();<br />  URL = "<font color="#ff0000">jdbc:microsoft:sqlserver</font>://localhost:1433;DatabaseName=tempdb";<br />2</span> <span>、连?/span> <span>SqlServer2005<br />  Class.forName("com.microsoft.<font color="#ff0000">sqlserver.jdbc</font>.SQLServerDriver").newInstance();<br />  URL = "<font color="#ff0000">jdbc:sqlserver:</font>//localhost:1433;DatabaseName=tempdb";</span> </p> <img src ="http://www.aygfsteel.com/yanpeng/aggbug/84831.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/yanpeng/" target="_blank">宝贝猪?/a> 2006-12-01 14:40 <a href="http://www.aygfsteel.com/yanpeng/articles/84831.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDBC常用cdҎhttp://www.aygfsteel.com/yanpeng/articles/84825.html宝贝猪?/dc:creator>宝贝猪?/author>Fri, 01 Dec 2006 06:10:00 GMThttp://www.aygfsteel.com/yanpeng/articles/84825.htmlhttp://www.aygfsteel.com/yanpeng/comments/84825.htmlhttp://www.aygfsteel.com/yanpeng/articles/84825.html#Feedback0http://www.aygfsteel.com/yanpeng/comments/commentRss/84825.htmlhttp://www.aygfsteel.com/yanpeng/services/trackbacks/84825.html 一、四U驱动程序概念?br />
A、JDBC-ODBC Bridge 
    桥接器型的驱动程序,q类驱动E序的特色是必须在用者端的计机上事先安装好ODBC驱动E序Q然后通过JDBC-ODBC的调用方法,q而通过ODBC来存取数据库。?br />    作ؓJDK1.1后的一部分Q是sun.jdbc.odbc包的一部分 
Application--->JDBC-ODBC  Bridge---->JDBC-ODBC  Library--->ODBC  Driver-->Database 
适用于快速的原型pȝQ没有提供JDBC驱动的数据库如Access 

B、JDBC-Native API Bridge 
    也是桥接器驱动程序之一Q这c驱动程序也必须先在使用者计机上先安装好特定的驱动E序Q类似ODBCQ,然后通过JDBC-Native API桥接器的转换Q把Java API调用转换成特定驱动程序的调用ҎQ进而存取数据库。?br />    利用开发商提供的本地库来直接与数据库通信。?br />Application--->JDBC  Driver---->Native  Database  library---->Database 
比AcL能略好。?br />
C、JDBC-middleware 
    q类型的驱动E序最大的好处是省去了在使用者计机上安装Q何驱动程序的ȝQ只需在服务器端安装好middlewareQ而middleware会负责所有存取数据库必要的{换。?br />    Application--->Jdbc  Driver----->java  middleware--->JDBC  Driver---->Database 
h最大的灉|性,通常由那些非数据库厂商提供,是四U类型中最的。?br />
D、Pure JDBC driver 
    q类型的驱动E序是最成熟的JDBC驱动E序Q不但无需在用者计机上安装Q何额外的驱动E序Q也不需要在服务器端安装M中介E序(middleware)Q所有存取数据库的操作,都直接由驱动E序来完成。?br />    Application--->Jdbc  driver----->database  engine--->database 
最高的性能Q通过自己的本地协议直接与数据库引擎通信Q具备在Internet装配的能力。?br />

二、常用的JDBCcMҎ 

1、DriverManagerc: 
    负责理JDBC驱动E序。用JDBC驱动E序之前Q必d驱动程序加载ƈ向DriverManager注册后才可以使用Q同时提供方法来建立与数据库的连接。?br />
ҎQ?br />A、Class.forName(String driver); //加蝲注册驱动E序 
B、Static Connection getConnection(String url,String user,String password) throws SQLException;  
        //取得Ҏ据库的连接?br />C、Static Driver getDriver(String url) throws SQLExcetion; 
        //在已l向DriverManager注册的驱动程序中L一个能够打开url所指定的数据库的驱动程序?br />

2、Connectionc?br />    负责l护JSP/JAVA数据库程序和数据库之间的联机。可以徏立三个非常有用的cd象。?br />
ҎQ?br />A、Statement createStatement() throws SQLException; //建立Statementcd象?br />   Statement createStatement(int resultSetType,int resultSetConcurrency) throws SQLException;   
        // 建立Statementcd象?br />
resultSetType值 ?br />TYPE_FORWARD_ONLY l果集不可滚动 ?br />TYPE_SCROLL_INSENSITIVE l果集可滚动Q不反映数据库的变化  
TYPE_SCROLL_SENSITIVE l果集可滚动Q反映数据库的变化 ?br />
resultSetConcurrency值 ?br />CONCUR_READ_ONLY 不能用结果集更新数据  
CONCUR_UPDATABLE 能用l果集更新数据 ?br />
JDBC2.0中才支持滚动的结果集Q而且可以Ҏ据进行更斊W?br />
B、DatabaseMetaData getMetaData() throws SQLException; //建立DatabaseMetaDatacd象?br />C、PreparedStatement prepareStatement(String sql) throws SQLException;  
        //建立PreparedStatementcd象?br />D、boolean getAutoCommit() throws SQLException //q回Connectioncd象的AutoCommit状态?br />E、void setAutoCommit(boolean autoCommit) throws SQLException  
        //讑֮Connectioncd象的AutoCommit状态?br />F、void commit() throws SQLException  //定执行Ҏ据库新增、删除或修改记录的操作?br />G、void rollback() throws SQLException  //取消执行Ҏ据库新增、删除或修改记录的操作?br />H、void close() throws SQLException  //l束Connection对象Ҏ据库的联机?br />I、boolean isClosed() throws SQLException //试是否已经关闭Connectioncd象对数据库的联机 

3、Statementc?br />
    通过StatementcL提供的方法,可以利用标准的SQL命oQ对数据库直接新增、删除或修改操作 

ҎQ?br />
A、ResultSet executeQuery(String sql) throws SQLException //使用SELECT命oҎ据库q行查询 
B、int executeUpdate(String sql) throws SQLException  
        //使用INSERT\DELETE\UPDATEҎ据库q行新增、删除和修改操作。?br />C、void close() throws SQLException //l束Statementcd象对数据库的联机 


4、PreparedStatementc?br />
    PreparedStatementcdStatementcȝ不同之处在于PreparedStatementcd象会传入的SQL命o事先~好{待使用Q当有单一的SQL指o比多ơ执行时Q用PreparedStatementcM比StatementcL效率 

ҎQ?br />
A、ResultSet executeQuery() throws SQLException //使用SELECT命oҎ据库q行查询 
B、int executeUpdate() throws SQLException  
        //使用INSERT\DELETE\UPDATEҎ据库q行新增、删除和修改操作。?br />C、ResultSetMetaData getMetaData() throws SQLException 
        //取得ResultSetcd象有兛_D늚相关信息 
D、void setInt(int parameterIndex,int x) throws SQLException 
        //讑֮整数cd数值给PreparedStatementcd象的IN参数 
E、void setFloat(int parameterIndex,float x) throws SQLException 
        //讑֮点数类型数值给PreparedStatementcd象的IN参数 
F、void setNull(int parameterIndex,int sqlType) throws SQLException 
        //讑֮NULLcd数值给PreparedStatementcd象的IN参数 
G、void setString(int parameterIndex,String x) throws SQLException 
        //讑֮字符串类型数值给PreparedStatementcd象的IN参数 
H、void setDate(int parameterIndex,Date x) throws SQLException 
        //讑֮日期cd数值给PreparedStatementcd象的IN参数 
I、void setTime(int parameterIndex,Time x) throws SQLException 
        //讑֮旉cd数值给PreparedStatementcd象的IN参数 


5、DatabaseMetaDatac?br />
    DatabaseMetaDatacM存了数据库的所有特性,q且提供许多Ҏ来取得这些信息。?br />
ҎQ?br />
A、String getDatabaseProductName() throws SQLException //取得数据库名UW?br />B、String getDatabaseProductVersion() throws SQLException //取得数据库版本代号?br />C、String getDriverName() throws SQLException //取得JDBC驱动E序的名UW?br />D、String getDriverVersion()  throws SQLException //取得JDBC驱动E序的版本代号?br />E、String getURL() throws SQLException //取得q接数据库的JDBC URL 
F、String getUserName() throws SQLException //取得d数据库的使用者帐号?br />
6、ResultSetc?br />
    负责存储查询数据库的l果。ƈ提供一pd的方法对数据库进行新增、删除和修改操作。也负责l护一个记录指针(CursorQ,记录指针指向数据表中的某个记录,通过适当的移动记录指针,可以随心所Ʋ的存取数据库,加强E序的效率。?br />
ҎQ?br />
A、boolean absolute(int row) throws SQLException  //Ud记录指针到指定的记录 
B、void beforeFirst() throws SQLException  //Ud记录指针到第一W记录之前?br />C、void afterLast() throws SQLException  //Ud记录指针到最后一W记录之后?br />D、boolean first() throws SQLException  //Ud记录指针到第一W记录?br />E、boolean last() throws SQLException  //Ud记录指针到最后一W记录?br />F、boolean next() throws SQLException  //Ud记录指针C一W记录?br />G、boolean previous() throws SQLException  //Ud记录指针C一W记录?br />H、void deleteRow() throws SQLException  //删除记录指针指向的记录?br />I、void moveToInsertRow() throws SQLException  //Ud记录指针以新增一W记录?br />J、void moveToCurrentRow() throws SQLException  //Ud记录指针到被记忆的记录?br />K、void insertRow() throws SQLException  //新增一W记录到数据库中 
L、void updateRow() throws SQLException  //修改数据库中的一W记录?br />M、void updatecd(int columnIndex,cd x) throws SQLException  //修改指定字段的值?br />N、int getcd(int columnIndex) throws SQLException  //取得指定字段的值?br />O、ResultSetMetaData getMetaData() throws SQLException //取得ResultSetMetaDatacd象?br />
7、ResultSetMetaDatac?br />
    ResultSetMetaDatacd象保存了所有ResultSetcd象中关于字段的信息,提供许多Ҏ来取得这些信息。?br />
ҎQ?br />
A、int getColumnCount() throws SQLException //取得ResultSetcd象的字段个数 
B、int getColumnDisplaySize() throws SQLException //取得ResultSetcd象的字段长度 
C、String getColumnName(int column) throws SQLException //取得ResultSetcd象的字段名称 
D、String getColumnTypeName(int column) throws SQLException //取得ResultSetcd象的字段cd名称 
E、String getTableName(int column) throws SQLException //取得ResultSetcd象的字段所属数据表的名UW?br />F、boolean isCaseSensitive(int column) throws SQLException //试ResultSetcd象的字段是否区分大小写?br />G、boolean isReadOnly(int column) throws SQLException //试ResultSetcd象的字段是否为只读?br />

]]>
վ֩ģ壺 | ׿| | | | | ʯ¥| | ͷ| | Ϫ| | | ӱ| dz| | ·| | Ϫ| ī| | μԴ| | ̨| | | | | | | | | | | | ڶ| | | ʯȪ| | ϴ|