前言...,繼上周報告完JDBC+Mysql後,我一直以為prepareStatement跟createStatement是一樣功能,但用在不同Database上,星期一一早我主管叫我進會議室後,幫我指正這是可以用在同樣的Database上,只是會導致後用對SQL下指令的方法不一樣,所以我又特地回頭研究了一下,不過又引發我另一個問題...,等我研究完再提出來,呵呵。 在 Wiki 上,可以看到這三個的解釋,不過通常看完之後,我只覺得他媽的我怎麼還是覺得非常難理解!? Statement :用以執行SQL查詢和更新(針對靜態SQL語句和單次執行)。 PreparedStatement :用以執行包含動態參數的SQL查詢和更新(在伺服器端編譯,允許重複執行以提高效率)。 CallableStatement :用以呼叫資料庫中的 儲存過程 。 然後再看到一堆,關於preparecall、createStatement和preparedstatement的example code。 createStatement - //创建一个简单的Statement对象 Statement Ex1Stmt = Ex1Con.createStatement(); //创建SQL串,传送到DBMS并执行SQL语句 ResultSet Ex1rs = Ex1Stmt.executeQuery( "SELECT StudentID, FirstName, LastName FROM Students" ); //处理每一个数据行,直到不再有数据行 System.out.println( "Student Number First Name Last Name" ); preparedstatement - ps = conn. prepareStatement ( "SELECT i.*, j.* FROM Omega i, Zappa j WHERE i = ? AND j = ?" ) ; // 使用问号作为参数的标示 // 进行参数设置 // 与大部分Java API中下标的使用方法不同,字段的下标...