Версия JSP для SQL Server:
创建表:
СОЗДАТЬ ТАБЛИЦУ [BookUser] (
[UserID] [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] [уникальныйидентификатор] NOT NULL CONSTRAINT [DF_BookUser_Guid] DEFAULT (newid()),
[Дата Рождения] [дата-время] НЕ NULL ,
[Описание] [ntext] COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Фото] [изображение] NULL ,
[Другое] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
ОГРАНИЧЕНИЕ [DF_BookUser_Other] ПО УМОЛЧАНИЮ ('默认值'),
ОГРАНИЧЕНИЕ [PK_BookUser] КЛАСТЕРИЗИРОВАННЫЙ ПЕРВИЧНЫЙ КЛЮЧ
(
[ID пользователя]
) НА [ОСНОВНОЙ]
) НА [ПЕРВИЧНЫЙ] TEXTIMAGE_ON [ПЕРВИЧНЫЙ]
ИДТИ
创建存储过程:
СОЗДАТЬ ПРОЦЕДУРУ InsertUser
@UserName varchar(50),
@Title varchar(255),
@Guid уникальныйидентификатор,
@ДатаРожденияДатаВремя,
@Description nтекст,
@Фотоизображение,
@Другой nvarchar(50),
@UserID int вывод
Как
установлено NOCOUNT ON
Если существует (выберите UserID из BookUser, где UserName = @UserName)
ВОЗВРАТ 0
ЕЩЕ
Начинать
INSERT INTO BookUser (Имя пользователя, Должность, Руководство, Дата рождения, Описание, Фото, Другое)
ЗНАЧЕНИЯ(@ИмяПользователя,@Заголовок,@Guid,@Дата Рождения,@Описание,@Фото,@Другое)
SET @UserID = @@IDENTITY
ВОЗВРАТ 1
Конец
ИДТИ
Формат JSP:
<%@ page Language="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 ">
<голова>
</голова>
<тело>
<%
//Стандартный код: SQL Server, JDBC, SQLserver, JDBC.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://localhost:1433;databaseName=Book;user=sa;password=";
String sql = "{? = call InsertUser(?,?,?,?,?,?,?,?)}";
Соединение cn = ноль;
CallableStatement cmd = null;
пытаться
{
сп = DriverManager.getConnection(url);
cmd = cn.divpareCall(sql);
java.util.UUID Guid = java.util.UUID.randomUUID();
String FilePath = application.getRealPath("") + "testlogo.gif";
java.io.FileInputStream f = новый java.io.FileInputStream(FilePath);
Дата rightNow = Date.valueOf("2007-9-9");
cmd.setString("Имя пользователя","мэнсяньхуэй");
//注意修改这里,存储过程验证了UserName的唯一性。
cmd.setString("Title","孟宪会");
cmd.setString("Guid",Guid.toString());
cmd.setString("ДатаРождения","2007-9-9");
cmd.setDate("ДатаРождения",rightNow);
cmd.setString("Описание","【孟子E章】");
cmd.setBinaryStream("Фото",f,f.available());
cmd.setString("Другое",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");
если (возвращенное значение == 1)
{
out.print("<li>添加成功!");
out.print("<li>UserID = " + UserID);
out.print("<li>returnValue = " + returnValue);
}
еще
{
out.print("<li>添加失败!");
}
е.закрыть();
}
поймать (исключение ex)
{
out.print(ex.getLocalizedMessage());
}
окончательно
{
пытаться
{
если (cmd != ноль)
{
cmd.закрыть();
cmd = ноль;
}
если (сп! = ноль)
{
сп.закрыть();
сп = ноль;
}
}
поймать (Исключение е)
{
е.printStackTrace();
}
}
%>
</тело>
</html>