資源描述:
《java中調用sqlserver存儲過程示例》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、Java中調用SQLServer存儲過程示例2007-09-0308:48 來源:論壇整理 作者:孟子E章 責任編輯:方舟·yesky 評論(3) 最近做了個Java的小項目(第一次寫Java的項目哦),到網上搜索了半天,找到了一個比較好點的調用存儲過程的例子,而且網上普遍采用的都是setXXX((intparameterIndex,XXXx)的形式。這種形式感覺不是很直觀,下面就發(fā)布一個完整的采用setXXX(StringparameterName,XXXx)的編寫方法。創(chuàng)建數據表,存儲過程的代碼都完整發(fā)布?! ?chuàng)建表:CREATETABLE[BookUser]([UserID][i
2、nt]IDENTITY(1,1)NOTNULL,[UserName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Title][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Guid][uniqueidentifier]NOTNULLCONSTRAINT[DF_BookUser_Guid]DEFAULT(newid()),[BirthDate][datetime]NOTNULL,[Description][ntext]COLLATEChinese_PRC_CI_ASNOTNULL,[Photo][
3、image]NULL,[Other][varchar](50)COLLATEChinese_PRC_CI_ASNULLCONSTRAINT[DF_BookUser_Other]DEFAULT('默認值'),CONSTRAINT[PK_BookUser]PRIMARYKEYCLUSTERED([UserID])ON[PRIMARY])ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]GO 創(chuàng)建存儲過程:CREATEPROCEDUREInsertUser@UserNamevarchar(50),@Titlevarchar(255),@Guiduniqueidentifier,
4、@BirthDateDateTime,@Descriptionntext,@Photoimage,@Othernvarchar(50),@UserIDintoutputAsSetNOCOUNTONIfExists(selectUserIDfromBookUserWhereUserName=@UserName)RETURN0ELSEBeginINSERTINTOBookUser(UserName,Title,Guid,BirthDate,Description,Photo,Other)VALUES(@UserName,@Title,@Guid,@BirthDate,@Description
5、,@Photo,@Other)SET@UserID=@@IDENTITYRETURN1EndGO JSP代碼:<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@pageimport="java.sql.*"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http:/
6、/www.w3.org/1999/xhtml"><head></head><body><%//注意:下面的連接方法采用最新的SQLServer的JDBC,//請到http://msdn2.microsoft.com/zh-cn/data/aa937724.aspx下載Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Stringurl="jdbc:sqlserver://localhost:1433;databaseName=Book;user=sa;password=";Stringsql="{?=callIns
7、ertUser(?,?,?,?,?,?,?,?)}";Connectioncn=null;CallableStatementcmd=null;try{ cn=DriverManager.getConnection(url); cmd=cn.prepareCall(sql); java.util.UUIDGuid=java.util.UUID.randomUUID(); StringFilePath=application.getRe