freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java的數(shù)據(jù)庫編程jdbc技術(shù)-閱讀頁

2024-12-04 04:08本頁面
  

【正文】 符串 ; PreparedStatement:預(yù)編譯 SQL 語句; CallableStatement:主要用于執(zhí)行存儲過程)。 Statement stmt=()。 Statement 接口提供了三種執(zhí)行SQL 語句的方法: executeQuery()、 executeUpdate() 和 execute()。 方法 executeQuery 用于產(chǎn) 生單個結(jié)果集的語句,例如 SELECT 語句等。 INSERT、 UPDATE 或DELETE 語句的效果是修改表中零行或多行中的一列或多列。對于 CREATE TABLE 或 DROP TABLE 等不操作行的語句, executeUpdate 的返 回值總為零。一般不會需要該高級功能。 ResultSet rs=stmt. executeQuery (select * from DBTableName)。對于錯誤的 SQL 查詢語句,在執(zhí)行時將會產(chǎn)生 SQLException。 (在 規(guī)范中已經(jīng)可以支持多個結(jié)果集) ③如果想對多個結(jié)果集同時操作,必須創(chuàng)建出多個 Statement 對象,在每個 Statement 對象上執(zhí)行 SQL 查詢語句以獲得相應(yīng)的結(jié)果集。 2)查詢操作的示例 數(shù)據(jù)庫 DataBonus 中的表:獎金。 import .*。 public class mysqlserver { public static void main(String[] args) { conn= null。 rs=null。 //創(chuàng)建連接 //計算機(jī)名要根據(jù)實(shí)際情況更改 conn = (jdbc:microsoft:ord=)。 //執(zhí)行 SQL 語句 (select * from 獎金 )。 //打印結(jié)果 while (()) { ((姓名 )+ +(發(fā)獎名稱 )+ +(金額 ))。 } finally { if (rs != null) { try{()。 } if (stmt != null) { try{()。 } if (conn != null) { try{()。 } } } } 樣例二: (在何處斷掉 ?如何斷掉?如果不斷掉會有何種后果?) 數(shù)據(jù)庫的操作應(yīng)該注意,任何操作完成后都要把連接斷掉,以減少數(shù)據(jù)庫資源的消耗。 import .*。 中科院計算所培訓(xùn)中心 import .*。 import .*。 import .*。 import .*。 //定義一個表格和一個滾動條 JTable table。 JTextField jTextField1 = new JTextField()。 JButton jButton2 = new JButton()。 //接收數(shù)據(jù)的數(shù)組 Object[][] data。 //行號 int selectedRow。}catch(Exception e) {} } //開始代碼 public static void main(String[] args) { TableDemo frame = new TableDemo()。 (Select * from 獎金 )。 //創(chuàng)建連接 //計算機(jī)名要根據(jù)實(shí)際情況更改 conn1 = (jdbc:microsoft:ord=)。 } catch (Exception e) { ()。 } } //提交方法 public void MUpdata(String Sql) { //聲明連接, SQL 語句執(zhí)行對象和結(jié)果集變量 conn = null。 try { conn=MyConn()。 (Sql)。 } finally { if (stmt != null) { 中科院計算所培訓(xùn)中心 try{()。 } if (conn != null) { try{()。 } } } //查詢方法 public void SeeData(String Sql) { //聲明連接, SQL 語句執(zhí)行對象和結(jié) 果集變量 conn = null。 rs = null。 //創(chuàng)建 SQL 語句對象 stmt = ()。 //取得結(jié)果集 rs = ()。 while (()) { Object[] d =new Object[5]。 d[1]= (姓名 )。 d[3]= (金額 )。 (d)。 (data)。 (20)。 中科院計算所培訓(xùn)中心 //定義表格的行對象 ListSelectionModel rowSM = ()。 ListRow(e)。 //當(dāng)表格的內(nèi)容改變的時候取得表格的內(nèi)容 final TableModel model = ()。 int column = ()。 String f=。 String Sql=UPDATE 獎金 Set +columnNames[column] +=+f+()+f + where 編號 =+ (row,0).toString()。 ()。 } catch (Exception e) { ()。}catch(Exception ignore){}。}catch(Exception ignore){}。}catch(Exception ignore){}。 selectedRow = ()。 } } //初始化代碼 private void jbInit() throws Exception { contentPane=(JPanel)()。 setSize(new Dimension(550, 340))。 //設(shè)置滾動條尺寸 (new Rectangle(19, 10, 500, 230))。 (new Rectangle(19, 250, 400, 22))。 中科院計算所培訓(xùn)中心 (查詢 )。 (刪除 )。 (添加 )。 (jTextField1, null)。 (jButton2, null)。 //單獨(dú)加入對 jButton1 的處理事件 (new () { public void actionPerformed(ActionEvent e) { SeeData(())。 //單獨(dú)加入對 jButton2 的處理事件 (new () { public void actionPerformed(ActionEvent e) { String Sql= DELETE From 獎金 Where 編號 = +data[selectedRow][0].toString()。 SeeData(())。 //單獨(dú)加入對 jButton3 的處理事件 (new () { public void actionPerformed(ActionEvent e) { String Sql= INSERT INTO 獎金 (姓名 ) values (39。)。 SeeData(())。 } } 中科院計算所培訓(xùn)中心 三、使用宏語句 JDBC 規(guī)范支持宏語句,允許一個語句使用不同的參數(shù)重復(fù)的執(zhí)行,這需要使用從PreparedStatement 接口擴(kuò)展過來的 prepareStatement 接口。 PreparedStatement prst=conn. prepareStatement(select * from DBTableName)。 Statement stat=()。 由于 Statement 對象在每次執(zhí)行 SQL 語句時都將該語句傳給數(shù)據(jù)庫,如果需要多次執(zhí)行同一條 SQL 語句時,這樣將導(dǎo)致執(zhí)行效率特別低,此時可以采用 PreparedStatement 對象來封裝SQL 語句。 另外 PreparedStatement 對象的 SQL語句還可以接收參數(shù) ,可以用不同的輸入?yún)?shù)來多次執(zhí)行編譯過的語句,較 Statement 靈活方便。 PreparedStatement pstmt=(select * from DBTableName)。 ResultSet rs=()。 //其實(shí)是調(diào)用了父類 Statement 類中的 close()方法 樣例: 中科院計算所培訓(xùn)中心 package Datademo。 import .*。 try { //加載數(shù)據(jù)庫驅(qū)動程序 ()。 PreparedStatement pstmt=(INSERT INTO 獎金 (姓名 ,發(fā)獎名稱 ,金額 ) values (?,?,?) )。 (2,安全獎 )。 int opNum=()。 (2,生產(chǎn)獎 )。 opNum=()。 } finally { if (conn != null) { try{()。 中科院計算所培訓(xùn)中心 } } } } 其中,語句 (1,張三 )為送參數(shù),而第一個數(shù)據(jù)是參數(shù)的位置。 import .*。 PreparedStatement pstmt=null。 try { //加載數(shù)據(jù)庫驅(qū)動程序 //Driver Classname= ()。 pstmt=(select * from 獎金 Where 金額 ?)。 A=200。 //取得結(jié)果集 rs=()。 } } catch (Exception e) { ()。}catch(Exception ignore){}。}catch(Exception ignore){}。}catch(Exception ignore){}。 四、使用存儲過程 (在實(shí)際開發(fā)過程中何時使用存儲過程? 在返回參數(shù)和 resultset的時候,可否同時返回,是否有順序? ) 存儲過程是一種特殊的 SQL語句,用于對數(shù)據(jù)庫進(jìn)行操作。 使用存儲過程的好處是性能好,他在服務(wù)器上執(zhí)行,離數(shù)據(jù)最接近,比直接發(fā)送 SQL 語句速度要快得多。 存儲過程被定義以后,將成為數(shù)據(jù)庫的一部分,顯示為數(shù)據(jù)庫對象,這就使它非常容易尋找和操縱。 當(dāng)然,使用存儲過程也可以大大簡化客戶應(yīng)用程序的編寫。 例一: 首先討論一個存儲過程最簡單的例子,說明 java 中是怎么調(diào)用存儲過程的。%39。%39。 import .*。 public class SqlStore { public static void main(String[] args) throws Exception { //聲明連接, SQL 語句執(zhí)行對象和結(jié)果集變量 conn = null。 rs = null。 conn = (jdbc:microsoft:ord=)。 (1, 王
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1