JAVA中对存储过程的调用方法.docVIP

  • 2
  • 0
  • 约1.22万字
  • 约 12页
  • 2017-02-09 发布于重庆
  • 举报
JAVA中对存储过程的调用方法

JAVA中对存储过程的调用方法 A:不带输出参数的 z ]3h  ? ? ---------------不带输出参数的---------------------------------- uLX8oRxZ ? create procedure getsum @BFd^` ? @n int =0--此处为参数-- FQqL;D*P3 ? as 1 xJ- ) ? declare @sum int--定义变量-- EHO)XSg ? declare @i int D*asQx$?Pf ? set @sum=0 tw @IXc ? set @i=0 c)~36 W ? while @i=@n begin a du 4,J[ ? set @sum=@sum+@i @[z~ @GTs ? set @i=@i+1  ~ET/51 ? end %olWaT7Q ? print the sum is +ltrim(rtrim(str(@sum))) AmBh t;[ ? 92;IBfH| ? HG )b ? --------------在SQL中执行:-------------------- W|;s@6*W ? exec getsum 100 ur^$[vb] ? AN{06@Oe ? HY12Q[h! ? ------------在JAVA中调用:--------------------- ,t0BD8Fd ? JAVA可以调用 但是在JAVA程序却不能去显示该存储过程的结果 因为上面的存储 j?@ 1l=) ? 过程的参数类型int 传递方式是in(按值)方式 5XQ JL ? import java.sql.*; c@bNPq2 ? public class ProcedureTest 7c{1)]4r ? { G*{2}+ 71 ? public static void main(String args[]) throws Exception $d9u\GF7 ? { Vcu\rwQ8 ? //加载驱动 nW?c 1Y~p ? DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); a:pv^cq! ? //获得连接 -;-*roSJ{ ? Connection conn=DriverManager.getConnection(jdbc:odbc:mydata,sa,); NR hRU8 ? 9Ra% M ? l2H:$TXP[ ? ? ? //创建存储过程的对象 b/j{GvQ[ ? ? ? CallableStatement c=conn.divpareCall({call getsum(?)}); a=)JL$k* ? ? ? )sc9*gL ? ? ? //给存储过程的参数设置值 ,L;3T U ? ? ? c.setInt(1,100); //将第一个参数的值设置成100 ^}+ QaN^ ? ? ? {~bP(G0 ? ? ? //执行存储过程  /I|tc[k ? ? ? c.execute(); BR!8xBt ? ? ? conn.close(); h?hDx%W7 ? } bxf0} gS ? } ?.z L! ? ? A[a|x0*P ? B:带输出参数的 /YZh.} A ? ? 1:返回int d]{u =nt ? ? ? -------------------------带输出参数的---------------- unwcs^Qfl ? alter procedure getsum )MA)~~X+ ? @n int =0, :8Bz$+U ? @result int output * \ CR ? as - !#V: ? declare @sum int ZgXE`=Y9 ? declare @i int *KdC(IX ? set @sum=0 VpS`Ua ? set @i=0 ]KI OY ? while @i=@n begin E)tDZkg: ? set @sum=@sum+@i q+ 09\J ? set @i=@i+1 r8^;UEE ? end KT xe8hU ? set @result=@sum u3 Y:L[Z ? ? -------------------在查询分析器中执行------------ `%nw?fju ? declare @myResult int jg%SdTwN ? e

文档评论(0)

1亿VIP精品文档

相关文档