JSP による SQL Server の保存手順の例:
创建表:
テーブルを作成 [BookUser] (
[ユーザーID] [int] IDENTITY (1, 1) NOT NULL 、
[ユーザー名] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL 、
[タイトル] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL 、
[Guid] [uniqueidentifier] NOT NULL CONSTRAINT [DF_BookUser_Guid] DEFAULT (newid())、
[生年月日] [日時] NOT NULL 、
[説明] [ntext] COLLATE Chinese_PRC_CI_AS NOT NULL 、
[写真] [画像] NULL 、
[その他] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
CONSTRAINT [DF_BookUser_Other] DEFAULT ('默认值')、
制約 [PK_BookUser] クラスター化された主キー
(
[ユーザーID]
) [プライマリ] オン
) オン [プライマリ] TEXTIMAGE_ON [プライマリ]
行く
创建存储过程:
CREATE PROCEDURE 挿入ユーザー
@ユーザー名 varchar(50),
@タイトルvarchar(255)、
@Guid の一意の識別子、
@BirthDateDateTime、
@説明ntext、
@写真画像、
@その他のnvarchar(50)、
@UserID int 出力
どおり
NOCOUNT ON
存在する場合 (UserName = @UserName の BookUser から UserID を選択)
リターン0
それ以外
始める
INSERT INTO BookUser (ユーザー名、タイトル、GUID、生年月日、説明、写真、その他)
VALUES(@ユーザー名、@タイトル、@GUID、@誕生日、@説明、@写真、@その他)
SET @ユーザーID = @@IDENTITY
リターン1
終わり
行く
JSP代コード:
<%@ ページ言語="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ ページインポート = "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>
<本文>
<%
//注意: 以下の接続方法では SQL Server の JDBC を使用し、先に sqlserver をダウンロードします。
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
文字列 url="jdbc:sqlserver://localhost:1433;databaseName=Book;user=sa;password=";
String sql = "{? = call InsertUser(?,?,?,?,?,?,?,?)}";
接続 cn = null;
CallableStatement cmd = null;
試す
{
cn = DriverManager.getConnection(url);
cmd = cn.divpareCall(sql);
java.util.UUID GUID = java.util.UUID.randomUUID();
文字列ファイルパス = application.getRealPath("") + "testlogo.gif";
java.io.FileInputStream f = 新しい java.io.FileInputStream(FilePath);
Date rightNow = Date.valueOf("2007-9-9");
cmd.setString("ユーザー名","孟仙会");
//ここでの変更に注意してください。UserName の唯一性を証明するプロセスです。
cmd.setString("タイトル","孟宪会");
cmd.setString("Guid",Guid.toString());
cmd.setString("誕生日","2007-9-9");
cmd.setDate("誕生日",rightNow);
cmd.setString("説明","【孟子電子章】");
cmd.setBinaryStream("写真",f,f.available());
cmd.setString("その他",null);
cmd.registerOutParameter(1,java.sql.Types.INTEGER);
cmd.registerOutParameter("ユーザーID",java.sql.Types.INTEGER);
cmd.execute();
int returnValue = cmd.getInt(1);
int ユーザー ID = cmd.getInt("ユーザー ID");
if(戻り値 == 1)
{
out.print("<li>追加成功!");
out.print("<li>ユーザーID = " + ユーザーID);
out.print("<li>returnValue = " + returnValue);
}
それ以外
{
out.print("<li>追加失败!");
}
f.close();
}
catch(例外例)
{
out.print(ex.getLocalizedMessage());
}
ついに
{
試す
{
if(cmd != null)
{
cmd.close();
cmd = null;
}
if(cn != null)
{
cn.close();
cn = null;
}
}
catch(例外 e)
{
e.printStackTrace();
}
}
%>
</body>
</html>