溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在JSP中使用存儲

發(fā)布時間:2021-11-02 10:36:37 來源:億速云 閱讀:133 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“如何在JSP中使用存儲”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

  1、Java中過儲過程的標(biāo)準(zhǔn)使用方法:

  可實(shí)現(xiàn)存儲過程中的各種功能,和最簡方法相比,它可以得到out參數(shù)和過程返回值。

 ???就是參數(shù)的占位符,一個問號代表有一個參數(shù)。

  雙擊代碼全選

  Stringproc="{callprocname(?,?)}";

  CallableStatementstat=con.prepareCall(proc);

  //第一個參數(shù)為in的話,說明?號應(yīng)為英文輸入法下的,這個博客不能輸入英文的問號。

  stat.setString(1,'paravalue');//設(shè)置參數(shù)值

  //第二個參數(shù)作out的話

  stat.registerOutParameter(1,java.sql.Types.VARCHAR);//設(shè)置參數(shù)類型

  stat.execute();

  StringparaValue=stat.getString(2);//得到out參數(shù)值

  例如:

  <%@pageimport="java.sql.*"%>

  <%@pageimport="java.text.*"%>

  <%@pagecontenttype= charset="GB2312"%">

  <%@includefile="opendata.jsp"%>

  <% stringstrsql="{callpdrivertotal(,)}" callablestatementstmt="con.prepareCall(strSQL);">

  2、存儲過程的最簡寫法:

  思路:將過程當(dāng)作普通的sql語句去執(zhí)行,也就是和查詢、更新的寫法是一樣??蓪?shí)現(xiàn)執(zhí)行過程并且得到相關(guān)的數(shù)據(jù)集,但它不能得到過程的out輸出參數(shù),開發(fā)中90%的情況下皆適用。

  Stringproc="exec過程名"+參數(shù)1+","+參數(shù)2;

  Statementstat=con.createStatement();

  ResultSetrs=stat.executeQuery(proc);

  例如:

  //在JSP中使用

  <% statementstat="con.createStatement();" resultsetrs="stat.executeQuery("zyfproc20'姓名'");">

  //在使用了jstl標(biāo)簽的jsp中使用

  

  

  

  

  

  1C#中存儲過程的使用標(biāo)準(zhǔn)版

  privatevoidsql_proc()

  {

  SqlConnectionconn=newSqlConnection("server=.;uid=sa;pwd=1234;database=china");

  stringsql="proc_out";

  SqlCommandcomm=newSqlCommand(sql,conn);

  //把Command執(zhí)行類型改為存儲過程方式,默認(rèn)為Text。

  comm.CommandType=CommandType.StoredProcedure;

  //傳遞一個輸入?yún)?shù),需賦值

  SqlParametersp=comm.Parameters.Add("@uid",SqlDbType.Int);

  sp.Value=10;

  //定義一個輸出參數(shù),不需賦值。Direction用來描述參數(shù)的類型

  //Direction默認(rèn)為輸入?yún)?shù),還有輸出參數(shù)和返回值型。

  sp=comm.Parameters.Add("@output",SqlDbType.VarChar,50);

  sp.Direction=ParameterDirection.Output;

  //定義過程的返回值參數(shù),過程執(zhí)行完之后,將把過程的返回值賦值給名為myreturn的Paremeters賦值。

  sp=comm.Parameters.Add("myreturn",SqlDbType.Int);

  sp.Direction=ParameterDirection.ReturnValue;

  //使用SqlDataAdapter將自動完成數(shù)據(jù)庫的打開和關(guān)閉過程,并執(zhí)行相應(yīng)t-sql語句或存儲過程

  //如果存儲過程只是執(zhí)行相關(guān)操作,如級聯(lián)刪除或更新,使用SqlCommand的execute方法即可。

  SqlDataAdapterda=newSqlDataAdapter(comm);

  DataSetds=newDataSet();

  da.Fill(ds);

  //在執(zhí)行完存儲過程之后,可得到輸出參數(shù)

  stringmyout=comm.Parameters["@output"].Value.ToString();

  //打印輸出參數(shù):

  Response.Write("打印輸出參數(shù):"+myout);

  //打印存儲過程返回值

  myout=comm.Parameters["myreturn"].Value.ToString();

  Response.Write("存儲過程返回值:"+myout);

  this.DataGrid1.DataSource=ds;

  this.DataGrid1.DataBind();

  }

  2存儲過程的使用最簡版:

  privatevoidsql_jyh()

  {

  //最簡寫法,把存儲過程當(dāng)作t-sql語句來使用,語法為:exec過程名參數(shù)

  SqlConnectionconn=newSqlConnection("server=.;uid=sa;pwd=1234;database=china");

  stringsql="executeproc_out10,'12'";

  SqlCommandcomm=newSqlCommand(sql,conn);

  //使用SqlDataAdapter將自動完成數(shù)據(jù)庫的打開和關(guān)閉過程,并執(zhí)行相應(yīng)t-sql語句或存儲過程

  //如果存儲過程只是執(zhí)行相關(guān)操作,如級聯(lián)刪除或更新,使用SqlCommand的execute方法即可。

  SqlDataAdapterda=newSqlDataAdapter(comm);

  DataSetds=newDataSet();

  da.Fill(ds);

  //綁定數(shù)據(jù)

  this.DataGrid1.DataSource=ds;

  this.DataGrid1.DataBind();

  }

“如何在JSP中使用存儲”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

jsp
AI