實(shí)例解析Java/JSP中調(diào)用SQL Server存儲(chǔ)過(guò)程_JSP教程
推薦:如何在Struts 2中實(shí)現(xiàn)文件上傳前一陣子有些朋友在電子郵件中問(wèn)關(guān)于Struts 2實(shí)現(xiàn)文件上傳的問(wèn)題, 所以今天我們就來(lái)討論一下這個(gè)問(wèn)題。 實(shí)現(xiàn)原理 Struts 2是通過(guò)Commons FileUpload文件上傳。Commons FileUpload通過(guò)將HTTP的數(shù)據(jù)保存到臨時(shí)文件夾,然后Struts使用fileUpload攔截器將文件綁
最近做了個(gè)Java的小項(xiàng)目(第一次寫(xiě)Java的項(xiàng)目哦
), 到網(wǎng)上搜索了半天,找到了一個(gè)比較好點(diǎn)的調(diào)用存儲(chǔ)過(guò)程的例子,而且網(wǎng)上普遍采用的都是setXXX((int parameterIndex, XXX x)的形式。這種形式感覺(jué)不是很直觀,下面就發(fā)布一個(gè)完整的采用setXXX(String parameterName, XXX x)的編寫(xiě)方法。創(chuàng)建數(shù)據(jù)表,存儲(chǔ)過(guò)程的代碼都完整發(fā)布。
創(chuàng)建表:
[UserID] [int] IDENTITY (1, 1) NOT NULL ,
[UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Title] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Guid] [uniqueidentifier] NOT NULL CONSTRAINT [DF_BookUser_Guid] DEFAULT (newid()),
[BirthDate] [datetime] NOT NULL ,
[Description] [ntext] COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Photo] [image] NULL ,
[Other] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_BookUser_Other] DEFAULT ('默認(rèn)值'),
CONSTRAINT [PK_BookUser] PRIMARY KEY CLUSTERED
(
[UserID]
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
創(chuàng)建存儲(chǔ)過(guò)程:
@UserName varchar(50),
@Title varchar(255),
@Guid uniqueidentifier,
@BirthDate DateTime,
@Description ntext,
@Photo image,
@Other nvarchar(50),
@UserID int output
As
Set NOCOUNT ON
If Exists (select UserID from BookUser Where UserName = @UserName)
RETURN 0
ELSE
Begin
INSERT INTO BookUser (UserName,Title,Guid,BirthDate,Description,Photo,Other) VALUES(@UserName,@Title,@Guid,@BirthDate,@Description,@Photo,@Other)
SET @UserID = @@IDENTITY
RETURN 1
End
GO
JSP代碼:
<%@ page import = "java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<%
//注意:下面的連接方法采用最新的SQL Server的JDBC,
//請(qǐng)到 http://msdn2.microsoft.com/zh-cn/data/aa937724.aspx 下載
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://localhost:1433;databaseName=Book;user=sa;password=";
String sql = "{? = call InsertUser(?,?,?,?,?,?,?,?)}";
Connection cn = null;
CallableStatement cmd = null;
try
{
cn = DriverManager.getConnection(url);
cmd = cn.prepareCall(sql);
java.util.UUID Guid = java.util.UUID.randomUUID();
String FilePath = application.getRealPath("") + "\test\logo.gif";
java.io.FileInputStream f = new java.io.FileInputStream(FilePath);
Date rightNow = Date.valueOf("2007-9-9");
cmd.setString("UserName","mengxianhui"); //注意修改這里,存儲(chǔ)過(guò)程驗(yàn)證了UserName的唯一性。
cmd.setString("Title","孟憲會(huì)");
cmd.setString("Guid",Guid.toString());
cmd.setString("BirthDate","2007-9-9");
cmd.setDate("BirthDate",rightNow);
cmd.setString("Description","【孟子E章】");
cmd.setBinaryStream("Photo",f,f.available());
cmd.setString("Other",null);
cmd.registerOutParameter(1,java.sql.Types.INTEGER);
cmd.registerOutParameter("UserID",java.sql.Types.INTEGER);
cmd.execute();
int returnValue = cmd.getInt(1);
int UserID = cmd.getInt("UserID");
if(returnValue == 1)
{
out.print("<li>添加成功!");
out.print("<li>UserID = " + UserID);
out.print("<li>returnValue = " + returnValue);
}
else
{
out.print("<li>添加失�。�");
}
f.close();
}
catch(Exception ex)
{
out.print(ex.getLocalizedMessage());
}
finally
{
try
{
if(cmd != null)
{
cmd.close();
cmd = null;
}
if(cn != null)
{
cn.close();
cn = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
%>
</body>
</html>
分享:FCKeditor編輯器在JAVA中的使用與配置方法工作前的準(zhǔn)備 版本是FCKeditor_2.4.2.zip【組件的主文件包】,F(xiàn)CKeditor.Java 2.3.zip【這里面提供了標(biāo)簽庫(kù)和圖片上傳的jar】。這些都可以在http://www.fckeditor.net 網(wǎng)站下載到! 配置 1. 新建工程compass,在WebRoot文件夾下新建文件夾FCKeditor(用來(lái)存
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實(shí)現(xiàn)
- 網(wǎng)頁(yè)模板:關(guān)于jsp頁(yè)面使用jstl的異常分析
- JSP頁(yè)面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫(kù)的配置方法
- JDBC連接Access數(shù)據(jù)庫(kù)的幾種方式介紹
- 網(wǎng)站圖片路徑的問(wèn)題:絕對(duì)路徑/虛擬路徑
- (jsp/html)網(wǎng)頁(yè)上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對(duì)路徑下的圖片解決方法
JSP教程Rss訂閱編程教程搜索
JSP教程推薦
- J2ME中使用記錄存儲(chǔ)系統(tǒng)RMS存儲(chǔ)信息
- CNET JSP BASIC建立一個(gè)JSP網(wǎng)站
- 用JSP的Session實(shí)現(xiàn)在線用戶統(tǒng)計(jì)
- 利用Java編寫(xiě)手機(jī)應(yīng)用程序 Motorola iDEN篇1
- 解析如何在JSP中使用Spring
- JSP調(diào)用SQL server 2000存儲(chǔ)過(guò)程
- 使用技巧:對(duì)Java編程中的文件操作詳解
- JSP教程之整合hibernate持久層2
- 如何通用數(shù)據(jù)庫(kù)jsp分頁(yè)查詢模塊
- 使用OTA來(lái)發(fā)布J2ME程序
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索實(shí)例解析Java/JSP中調(diào)用SQL Server存儲(chǔ)過(guò)程
- 教程說(shuō)明:
JSP教程-實(shí)例解析Java/JSP中調(diào)用SQL Server存儲(chǔ)過(guò)程
。