實例解析Java/JSP中調用SQL Server存儲過程_JSP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:如何在Struts 2中實現文件上傳
      前一陣子有些朋友在電子郵件中問關于Struts 2實現文件上傳的問題, 所以今天我們就來討論一下這個問題。 實現原理 Struts 2是通過Commons FileUpload文件上傳。Commons FileUpload通過將HTTP的數據保存到臨時文件夾,然后Struts使用fileUpload攔截器將文件綁

      最近做了個Java的小項目(第一次寫Java的項目哦), 到網上搜索了半天,找到了一個比較好點的調用存儲過程的例子,而且網上普遍采用的都是setXXX((int parameterIndex, XXX x)的形式。這種形式感覺不是很直觀,下面就發布一個完整的采用setXXX(String parameterName, XXX x)的編寫方法。創建數據表,存儲過程的代碼都完整發布。

      創建表:

      CREATE TABLE [BookUser] (
      [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 ('默認值'),
      CONSTRAINT [PK_BookUser] PRIMARY KEY CLUSTERED
      (
      [UserID]
      ) ON [PRIMARY]
      ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
      GO
       

      創建存儲過程:

      CREATE PROCEDURE InsertUser
      @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 language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
      <%@ 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,
      //請到 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"); //注意修改這里,存儲過程驗證了UserName的唯一性。
      cmd.setString("Title","孟憲會");
      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中的使用與配置方法
      工作前的準備 版本是FCKeditor_2.4.2.zip【組件的主文件包】,FCKeditor.Java 2.3.zip【這里面提供了標簽庫和圖片上傳的jar】。這些都可以在http://www.fckeditor.net 網站下載到! 配置 1. 新建工程compass,在WebRoot文件夾下新建文件夾FCKeditor(用來存

      來源:模板無憂//所屬分類:JSP教程/更新時間:2010-06-01
      相關JSP教程