﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-zhangxl_blog-文章分类-JDBC</title><link>http://www.blogjava.net/zhanglongsr/category/18302.html</link><description>路漫漫其修远兮，吾将上下而求索！</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:04:35 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:04:35 GMT</pubDate><ttl>60</ttl><item><title>JDBC调用SQL Server存储过程</title><link>http://www.blogjava.net/zhanglongsr/articles/sql_server.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Mon, 11 Dec 2006 10:42:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/articles/sql_server.html</guid><description><![CDATA[
		<font size="4">
				<font size="2">   在说明之前,先做一下准备工作.下面的说明主要针对SQL Server数据库,另外要保证jtds驱动程序已经测试通过.</font>
				<br />
				<hr />
				<ol>
						<li>
								<strong>调用带有输入和输出参数的存储过程</strong>
						</li>
				</ol>
				<p>         </p>
		</font>
		<font size="3">
				<font size="2">假设已经存在一个存储过程user_registry_stat,其代码如下:<br /></font>
				<br />               </font>
		<font size="2">CREATE PROCEDURE user_registry_stat(@stylebook int,@result int <strong>output </strong> )AS<br />                    BEGIN<br />                    /*不返回计数*/<br />                    SET NOCOUNT ON</font>
		<p>
				<font size="2">                    DECLARE @total_amount int<br />                    SET @total_amount = (SELECT count(id) as amount from CP_USER)<br /><br />                    IF(@total_amount&gt;@stylebook)<br />                    BEGIN<br />                          @result = 1<br />                    END<br />                    ELSE<br />                    BEGIN<br />                          @result =2<br />                    END<br />               <br />               JAVA执行代码如下:<br />               public static void executeStoredProcedure(Connection con) {<br />                     try {<br />                           CallableStatement cstmt = con.prepareCall("{call user_registry_s(?,?)}");<br />                            cstmt.seInt(1, 50);<br />                           cstmt.execute();<br />                           System.out.println("RETURN STATUS: " + cstmt.getInt(2));<br />                           cstmt.close();<br />                      }catch (Exception e) {<br />                           e.printStackTrace();<br />                     }<br />                  }<br /></font>
				<font size="4">
						<strong>2.   调用带有返回状态的存储过程<br /></strong>
						<font size="2">            假设已经存在一个存储过程user_registry_stat,其代码如下:</font>
						<br />
						<font size="2">                  CREATE PROCEDURE user_registry_stat(@stylebook int)AS<br />                    BEGIN<br />                    /*不返回计数*/<br />                    SET NOCOUNT ON</font>
				</font>
		</p>
		<p>
				<font size="2">                    DECLARE @total_amount int<br />                    SET @total_amount = (SELECT count(id) as amount from CP_USER)<br /><br />                    IF(@total_amount&gt;@stylebook)<br />                        return 1<br />                    ELSE<br />                        return 2<br />            <br />            java执行代码如下:<br />            public static void executeStoredProcedure(Connection con) {<br />               try {<br />                  CallableStatement cstmt = con.prepareCall("{? = call user_registry_stat(?)}");<br />                  cstmt.registerOutParameter(1, java.sql.Types.INTEGER);<br />                  cstmt.seInt(2, 50);<br />                  cstmt.execute();<br />                  System.out.println("RETURN STATUS: " + cstmt.getInt(1));<br />            <br />                  cstmt.close();<br />            }catch (Exception e) {<br />               e.printStackTrace();<br />            }<br />         }<br />参考: http://msdn2.microsoft.com/zh-cn/library/ms378371.aspx</font>
		</p>
<img src ="http://www.blogjava.net/zhanglongsr/aggbug/86981.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2006-12-11 18:42 <a href="http://www.blogjava.net/zhanglongsr/articles/sql_server.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>