您好,登錄后才能下訂單哦!
本篇內(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í)用文章!
免責(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)容。