在Java中的JSPJSP+JSTLNet中的ASPNET结合Sql Server数据库开发中把存储过程使用的常规方法和最简方式介绍一下
本文以SQL Server 例
一在JSP(JSTL)中使用存储过程
Java中过储过程的标准使用方法
可实现存储过程中的各种功能和最简方法相比它可以得到out参数和过程返回值?就是参数的占位符一个问号代表有一个参数
String proc = {call procname (?? )};
CallableStatement stat = conprepareCall(proc);
//第一个参数为in的话说明?号应为英文输入法下的这个博客不能输入英文的问号
statsetString(paravalue);//设置参数值
//第二个参数作out的话
statregisterOutParameter(javasqlTypesVARCHAR);//设置参数类型
statexecute();
String paraValue = statgetString();//得到out参数值
例如
﹤%@page import=javasql*%﹥
﹤%@page import=javatext*%﹥
﹤%@page contentType=text/html;charset=GB%﹥
﹤%@include file=opendatajsp%﹥
﹤%
String strSQL = {call pdrivertotal( )};
CallableStatement stmt = conprepareCall(strSQL);
stmtsetString();
stmtsetString();
stmtexecute();
%﹥
存储过程的最简写法
思路将过程当作普通的sql语句去执行也就是和查询更新的写法是一样可实现执行过程并且得到相关的数据集但它不能得到过程的out输出参数开发中%的情况下皆适用
String proc = exec 过程名 +参数++参数;
Statement stat = concreateStatement();
ResultSet rs = statexecuteQuery(proc);
例如
//在JSP中使用
﹤%
Statement stat = concreateStatement();
ResultSet rs = statexecuteQuery(zyfproc 姓名);
//zyfproc为存储过程名 为int型参数姓名为varchar类参数
%﹥
//在使用了jstl标签的jsp中使用
﹤!执行存储过程﹥
﹤sql:update var=proc sql=exec jproc ?? dataSource=${ds}﹥
﹤! 说明?号应为英文输入法下的这个博客不能输入英文的问号﹥
﹤sql:param value=${paramhid}/﹥
﹤sql:param value=${paramsid}/﹥
﹤/sql:update﹥