• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            preparecall

            更新時(shí)間:2023-02-28 19:38:01 閱讀: 評(píng)論:0

            prepareCall和prepareStatement有什么區(qū)別

            通常來說createStatement方法用于簡(jiǎn)單的SQL語句(不帶參數(shù))、prepareStatement方法用于帶一個(gè)或多個(gè)IN參數(shù)的SQL語句或經(jīng)常被執(zhí)行的簡(jiǎn)單SQL語句,而prepareCall方法用于調(diào)用已儲(chǔ)存過程。

            java中如何調(diào)用數(shù)據(jù)庫的存儲(chǔ)過程

            Java調(diào)用存儲(chǔ)過程的方法是通過調(diào)用Connection的實(shí)例方法prepareCall,prepareCall方法返回CallableStatement對(duì)象用于填充存儲(chǔ)過程的參數(shù)。prepareCall方法形參是調(diào)用存儲(chǔ)過程的sql語句,此參數(shù)的語法格式如下:

            {callstoredProcedureName(parameter-list)}

            其中,storedProcedureName是存儲(chǔ)過程名稱,parameter-list是存儲(chǔ)過程參數(shù)列表。

            例如,存儲(chǔ)過程名為usp_test,有兩個(gè)輸入?yún)?shù)a,b。則調(diào)用代碼看起來如下所示:

            CallableStatementcallableStatement=connection.prepareCall("{callusp_test(?,?)}");
            callableStatement.tObject("a","value-1");
            callableStatement.tObject("b","value-2");
            callableStatement.execute();

            在java中怎么創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫表

            JDBC連接數(shù)據(jù)庫
            •創(chuàng)建一個(gè)以JDBC連接數(shù)據(jù)庫的程序,包含7個(gè)步驟:
            1、加載JDBC驅(qū)動(dòng)程序:
            在連接數(shù)據(jù)庫之前,首先要加載想要連接的數(shù)據(jù)庫的驅(qū)動(dòng)到JVM(Java虛擬機(jī)),
            這通過java.lang.Class類的靜態(tài)方法forName(String className)實(shí)現(xiàn)。
            例如:
            try{
            //加載MySql的驅(qū)動(dòng)類
            Class.forName("com.mysql.jdbc.Driver") ;
            }catch(ClassNotFoundException e){
            System.out.println("找不到驅(qū)動(dòng)程序類 ,加載驅(qū)動(dòng)失敗!");
            e.printStackTrace() ;
            }
            成功加載后,會(huì)將Driver類的實(shí)例注冊(cè)到DriverManager類中。
            2、提供JDBC連接的URL
            •連接URL定義了連接數(shù)據(jù)庫時(shí)的協(xié)議、子協(xié)議、數(shù)據(jù)源標(biāo)識(shí)。
            •書寫形式:協(xié)議:子協(xié)議:數(shù)據(jù)源標(biāo)識(shí)
            協(xié)議:在JDBC中總是以jdbc開始
            子協(xié)議:是橋連接的驅(qū)動(dòng)程序或是數(shù)據(jù)庫管理系統(tǒng)名稱。
            數(shù)據(jù)源標(biāo)識(shí):標(biāo)記找到數(shù)據(jù)庫來源的地址與連接端口。
            例如:(MySql的連接URL)
            jdbc:mysql:
            //localhost:3306/test?uUnicode=true&characterEncoding=gbk ;
            uUnicode=true:表示使用Unicode字符集。如果characterEncoding設(shè)置為
            gb2312或GBK,本參數(shù)必須設(shè)置為true 。characterEncoding=gbk:字符編碼方式。
            3、創(chuàng)建數(shù)據(jù)庫的連接
            •要連接數(shù)據(jù)庫,需要向java.sql.DriverManager請(qǐng)求并獲得Connection對(duì)象,
            該對(duì)象就代表一個(gè)數(shù)據(jù)庫的連接。
            •使用DriverManager的getConnectin(String url , String urname ,
            String password )方法傳入指定的欲連接的數(shù)據(jù)庫的路徑、數(shù)據(jù)庫的用戶名和
            密碼來獲得。
            例如:
            //連接MySql數(shù)據(jù)庫,用戶名和密碼都是root
            String url = "jdbc:mysql://localhost:3306/test" ;
            String urname = "root" ;
            String password = "root" ;
            try{
            Connection con =
            DriverManager.getConnection(url , urname , password ) ;
            }catch(SQLException ){
            System.out.println("數(shù)據(jù)庫連接失敗!");
            .printStackTrace() ;
            }
            4、創(chuàng)建一個(gè)Statement
            •要執(zhí)行SQL語句,必須獲得java.sql.Statement實(shí)例,Statement實(shí)例分為以下3
            種類型:
            1、執(zhí)行靜態(tài)SQL語句。通常通過Statement實(shí)例實(shí)現(xiàn)。
            2、執(zhí)行動(dòng)態(tài)SQL語句。通常通過PreparedStatement實(shí)例實(shí)現(xiàn)。
            3、執(zhí)行數(shù)據(jù)庫存儲(chǔ)過程。通常通過CallableStatement實(shí)例實(shí)現(xiàn)。
            具體的實(shí)現(xiàn)方式:
            Statement stmt = con.createStatement() ;
            PreparedStatement pstmt = con.prepareStatement(sql) ;
            CallableStatement cstmt =
            con.prepareCall("{CALL demoSp(? , ?)}") ;

            Java中是如何調(diào)用存儲(chǔ)過程的?

            //存儲(chǔ)過程create or replace Procedure countBySal(
            p_sal emp.sal%type,
            p_count OUT number
            )as
            begin
            lect count(*) into p_count from emp where sal >= p_sql;
            end countBySal; //調(diào)用步奏import java.sql.CallableStatement; //帶哦用存儲(chǔ)過程所必須的語句借口
            import java.sql.Connection;
            import java.sql.DriverManager;
            import java.sql.Types;public class EmpUtil {

            public static int countBySal(double sal) throws Exception{
            Class.forName("oracle.jdbc.driver.OracleDriver");
            String url="jdbc:oracle:thin:@localhost:1521:test";
            Connection cn=DriverManager.getConnection(url, "scott", "tiger");
            String sql="{call countBySal(?,?)}";//調(diào)用存儲(chǔ)過程的語句,call后面的就是存儲(chǔ)過程名和需要傳入的參數(shù)
            CallableStatement cst=cn.prepareCall(sql);
            cst.tDouble(1, sal);//設(shè)置in參數(shù)的值
            cst.registerOutParameter(2, Types.INTEGER);//注冊(cè)out參數(shù)的類型
            cst.execute();
            int result = cst.getInt(2);
            cst.clo();
            cn.clo();
            return result;
            }

            public static void main(String[] args) {
            int count;
            try {
            count = EmpUtil.countBySal(3000);
            System.out.println("工資在3000元以上的人數(shù)為:"+count);
            } catch (Exception e) {
            e.printStackTrace();
            }

            }

            }

            java中調(diào)用存儲(chǔ)過程有什么作用

            ResultSet rs = stmt.executeQuery("{call dbo.ProcedureName}");
            調(diào)用帶參數(shù)存儲(chǔ)程必須結(jié)合 SQLServerConnection 類 prepareCall 使用 call SQL 轉(zhuǎn)義序列
            CallableStatement cstmt = con.prepareCall("{call dbo.ProcedureName(?, ?)}");
            cstmt.tInt(1, java.sql.Types.INTEGER);
            cstmt.registerOutParameter(2, java.sql.Types.VARCHAR);
            cstmt.execute();
            System.out.println("MANAGER ID: " + cstmt.getInt(1));
            System.out.println("MANAGER NAME: " + cstmt.getInt(2));
            3 SAF NTSD overspd 運(yùn)行期間電梯 1LS/2LS 實(shí)際速度超相應(yīng) NTSD 設(shè)定值 SHUTDOWN 電梯預(yù)定減速度減速停止復(fù)位

            本文發(fā)布于:2023-02-28 18:47:00,感謝您對(duì)本站的認(rèn)可!

            本文鏈接:http://m.newhan.cn/zhishi/a/167758428144502.html

            版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。

            本文word下載地址:preparecall.doc

            本文 PDF 下載地址:preparecall.pdf

            標(biāo)簽:preparecall
            相關(guān)文章
            留言與評(píng)論(共有 0 條評(píng)論)
               
            驗(yàn)證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實(shí)用文體寫作網(wǎng)旗下知識(shí)大全大全欄目是一個(gè)全百科類寶庫! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 国产精品自在自线视频| 午夜福利免费视频一区二区 | 中文无码高潮到痉挛在线视频| 成人看的污污超级黄网站免费| 免费视频成人片在线观看| 国内精品一区二区不卡| 国产精品普通话国语对白露脸| 日本少妇三级hd激情在线观看| 男人又大又硬又粗视频| 亚洲中文字幕久久无码精品| 韩国 日本 亚洲 国产 不卡| 国产精品久久久久9999| 中国美女a级毛片| 日本高清无卡码一区二区| 亚洲精品美女一区二区| 亚洲一二三区精品美妇| 国产成人一区二区三区免费视频| 日韩无矿砖一线二线卡乱| 无码中文字幕人妻在线一区| 色偷偷女人的天堂亚洲网| A男人的天堂久久A毛片| 蜜桃视频在线观看免费网址入口 | 国产无遮挡裸体免费久久| 日本三级理论久久人妻电影| 亚洲欧美日韩高清一区二区三区 | 欧美精品videosbestsex日本 | 亚洲欧美中文字幕日韩一区二区| 亚洲精品综合一区二区| 精品一区二区三区不卡| 性欧美在线| 日韩大片看一区二区三区| 97免费人妻无码视频| 国产主播精品福利午夜二区| 欧美丰满熟妇乱XXXXX网站| 9lporm自拍视频区| 亚洲成A人片在线观看无码不卡| 亚洲国产成人va在线观看天堂 | 九九热免费精品在线视频| 国产97视频人人做人人爱| 香港三日本三级少妇三级视频 | 色久综合色久综合色久综合|