JSPはストアドプロシージャを呼び出します

データテーブルを作成し、ストアドプロシージャのコードを限定発売しています。

テーブルを作成します。

CREATE TABLEを[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( '默认值')、
    CONSTRAINT [PK_BookUser] PRIMARY KEY CLUSTERED 
    (
        [ユーザーID]
    )ON [PRIMARY] 
)ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ストアドプロシージャを作成します。

PROCEDURE InsertUser CREATE
@UserName VARCHAR(50)、
@Title VARCHAR(255)、
@Guid UNIQUEIDENTIFIER、
@BirthDate日時、
@description NTEXT、
@Photo画像、
@Other NVARCHAR(50)、
@UserID INT出力 
として

セットNOCOUNT ON
場合が存在します(ユーザー名= @UserName BookUserからユーザーIDを選択)
RETURNは0
ELSE
開始
INSERT INTO BookUser(ユーザー名、タイトル、GUID、誕生日、説明、写真、その他)VALUES(@ユーザー名、@タイトル、@ GUID、@誕生日、@説明、その他)@写真、@
SET @UserID = @@ IDENTITY
RETURN 1
エンド
GO

JSPコード:

<%@ページ言語= "javaの" contentTypeの= "text / htmlの;のcharset = UTF-8" pageEncodingは= "UTF-8" %>
<%@ページのインポート= "java.sqlの*" %>
<!DOCTYPE HTML PUBLIC " - // W3C // DTD XHTML 1.0過渡// 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的、
//请到http://msdn2.microsoft。 COM / ZH-CN /データ/ aa937724.aspx下载
にClass.forName( "com.microsoft.sqlserver.jdbc.SQLServerDriver")。
文字列のURL = "はjdbc:のSQLServer:// localhostを:1433; databaseNameの=書籍;ユーザー=のsa;パスワード="; 
文字列のSQL = "{?(????????、、、、、、、)=呼び出しInsertUser}"。 
接続CN = NULL;
CallableStatementのCMD = NULL;
試す
{
    CN =したDriverManager.getConnection(URL);
    CMD = cn.prepareCall(SQL)。
    java.util.UUIDのGUID = java.util.UUID.randomUUID()。
    ストリングファイルパス= application.getRealPath( "")+ "/test/logo.gif"。
    java.io.FileInputStreamのF =新しいjava.io.FileInputStream(ファイルパス)。 
    日付のRightNow = Date.valueOf( "2007年9月9日");
    ( "ユーザー名"、 "mengxianhui")をcmd.setString。//注意修改这里、存储过程验证了ユーザー名的唯一性。
    cmd.setString( "タイトル"、 "孟宪会");
    cmd.setString( "のGuid"、Guid.toString());
    ( "誕生日"、 "2007年9月9日")cmd.setString。
    cmd.setDate(」

    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");
    もし(のreturnValue == 1)
    {
        out.print( "<LI>添加成功!");
        out.print( "<LI>ユーザーID =" +ユーザID);
        out.print( "<LI>のreturnValue =" +のreturnValue)。
    }
    他
    {
        out.print( "<LI>添加失败!");
    }
    f.close()を。
}
キャッチ(例外例)
{
    out.print(ex.getLocalizedMessage())。
}
最後に
{
    試み
    {
        するif(!CMD = NULL)
        {
            cmd.close();
            CMD = NULL;
        }
        IF(!CN = NULL)
        {
            cn.close()。
            CN = NULL;
        }
    }
    キャッチ(例外e)
    {
        e.printStackTrace();
    }
}
%>
</ body>
</ HTML>

 

おすすめ

転載: www.cnblogs.com/qiu18359243869/p/12658909.html