中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
ASP.NET中上传文件到数据库
作者:未知 时间:2005-02-06 12:12 出处:Blog 责编:chinaitpower
              摘要:暂无

CREATE TABLE tblBooksUpload

(

DocID int NOT NULL IDENTITY Primary Key ,

DocTitle varchar (200) ,

Doc image,

DocType varchar (50) ,

Entrydate datetime Default GetDate()

)

************************************
CREATE PROCEDURE uSP_BooksUploadFile

@Title varchar(200),

@Doc image,

@DocType varchar(4)

AS

INSERT tblBooksUpload(DocTitle,Doc,DocType)

VALUES (@Title,@Doc,@DocType)

GO



*********************************
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

using System.IO;
using System.Data.SqlClient;


namespace WebApplication200501
{
 /// <summary>
 /// WebForm3_Ftp 的摘要说明。
 /// </summary>
 public class WebForm3_Ftp : System.Web.UI.Page
 {
  protected System.Web.UI.HtmlControls.HtmlInputFile ftpfiles;
  protected System.Web.UI.WebControls.Label LabelStat;
  protected System.Web.UI.WebControls.TextBox TextBoxFileName;
  protected System.Web.UI.WebControls.Label Label1;
  protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;
  protected System.Data.SqlClient.SqlConnection sqlConnection1;
  protected System.Data.SqlClient.SqlCommand sqlSelectCommand1;
  protected System.Data.SqlClient.SqlCommand sqlInsertCommand1;
  protected System.Data.SqlClient.SqlCommand sqlUpdateCommand1;
  protected System.Data.SqlClient.SqlCommand sqlDeleteCommand1;
  protected System.Web.UI.WebControls.Button Button1;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
   this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
   this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
   this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand();
   this.sqlUpdateCommand1 = new System.Data.SqlClient.SqlCommand();
   this.sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();
   this.Button1.Click += new System.EventHandler(this.Button1_Click);
   //
   // sqlDataAdapter1
   //
   this.sqlDataAdapter1.DeleteCommand = this.sqlDeleteCommand1;
   this.sqlDataAdapter1.InsertCommand = this.sqlInsertCommand1;
   this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;
   this.sqlDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
                           new System.Data.Common.DataTableMapping("Table", "tblBooksUpload", new System.Data.Common.DataColumnMapping[] {
                                                      new System.Data.Common.DataColumnMapping("DocID", "DocID"),
                                                      new System.Data.Common.DataColumnMapping("DocTitle", "DocTitle"),
                                                      new System.Data.Common.DataColumnMapping("Doc", "Doc"),
                                                      new System.Data.Common.DataColumnMapping("DocType", "DocType"),
                                                      new System.Data.Common.DataColumnMapping("Entrydate", "Entrydate")})});
   this.sqlDataAdapter1.UpdateCommand = this.sqlUpdateCommand1;
   //
   // sqlConnection1
   //
   this.sqlConnection1.ConnectionString = "workstation id=\"DAYANG-C\";packet size=4096;integrated security=SSPI;data source=\"" +
    "DAYANG-C\";persist security info=False;initial catalog=MyDb";
   //
   // sqlSelectCommand1
   //
   this.sqlSelectCommand1.CommandText = "[NewSelectCommand]";
   this.sqlSelectCommand1.CommandType = System.Data.CommandType.StoredProcedure;
   this.sqlSelectCommand1.Connection = this.sqlConnection1;
   this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, null));
   //
   // sqlInsertCommand1
   //
   this.sqlInsertCommand1.CommandText = "[NewInsertCommand]";
   this.sqlInsertCommand1.CommandType = System.Data.CommandType.StoredProcedure;
   this.sqlInsertCommand1.Connection = this.sqlConnection1;
   this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, null));
   this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@DocTitle", System.Data.SqlDbType.VarChar, 200, "DocTitle"));
   this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Doc", System.Data.SqlDbType.VarBinary, 2147483647, "Doc"));
   this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@DocType", System.Data.SqlDbType.VarChar, 50, "DocType"));
   this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Entrydate", System.Data.SqlDbType.DateTime, 8, "Entrydate"));
   //
   // sqlUpdateCommand1
   //
   this.sqlUpdateCommand1.CommandText = "[NewUpdateCommand]";
   this.sqlUpdateCommand1.CommandType = System.Data.CommandType.StoredProcedure;
   this.sqlUpdateCommand1.Connection = this.sqlConnection1;
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, null));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@DocTitle", System.Data.SqlDbType.VarChar, 200, "DocTitle"));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Doc", System.Data.SqlDbType.VarBinary, 2147483647, "Doc"));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@DocType", System.Data.SqlDbType.VarChar, 50, "DocType"));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Entrydate", System.Data.SqlDbType.DateTime, 8, "Entrydate"));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_DocID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "DocID", System.Data.DataRowVersion.Original, null));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_DocTitle", System.Data.SqlDbType.VarChar, 200, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "DocTitle", System.Data.DataRowVersion.Original, null));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_DocType", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "DocType", System.Data.DataRowVersion.Original, null));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Entrydate", System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Entrydate", System.Data.DataRowVersion.Original, null));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@DocID", System.Data.SqlDbType.Int, 4, "DocID"));
   //
   // sqlDeleteCommand1
   //
   this.sqlDeleteCommand1.CommandText = "[NewDeleteCommand]";
   this.sqlDeleteCommand1.CommandType = System.Data.CommandType.StoredProcedure;
   this.sqlDeleteCommand1.Connection = this.sqlConnection1;
   this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, null));
   this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_DocID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "DocID", System.Data.DataRowVersion.Original, null));
   this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_DocTitle", System.Data.SqlDbType.VarChar, 200, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "DocTitle", System.Data.DataRowVersion.Original, null));
   this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_DocType", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "DocType", System.Data.DataRowVersion.Original, null));
   this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Entrydate", System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Entrydate", System.Data.DataRowVersion.Original, null));
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void Button1_Click(object sender, System.EventArgs e)
  {
   //if(ftpfiles.PostedFile!=null)
   //{
   // try
   // {
   //  ftpfiles.PostedFile.SaveAs("c:\\"+TextBoxFileName.Text);
   //  LabelStat.Text="上传文件成功!";
   // }
   // catch(Exception exc)
   // {
   //  LabelStat.Text="上传过程中出错!"+exc.ToString();
   // }
   //}
   string s;
   
   string strDocExt;

   //strDocType用于保存上传文件的类型

   string strDocType;


   //用于保存文件大小

   int intDocLen;


   //Stream用于读取上传数据

   Stream objStream;


   SqlConnection BooksConn;

   SqlCommand cmdUploadDoc;


   if(IsValid)

   {

    if(ftpfiles.PostedFile != null)

    {

     //文件类型
     

     strDocExt = ftpfiles.PostedFile.FileName.ToLower();

     switch(strDocExt)

     {

      case ".doc":

       strDocType = "doc";

       break;


      case ".ppt":

       strDocType = "ppt";

       break;


      case ".htm":

       strDocType = "htm";

       break;


      case ".html":

       strDocType = "htm";

       break;


      case ".jpg":

       strDocType = "jpg";

       break;


      case ".gif":

       strDocType = "gif";

       break;


      default:

       strDocType = "txt";

       break;

     }

     //上传文件具体内容


     intDocLen = ftpfiles.PostedFile.ContentLength;

     byte[] Docbuffer = new byte[intDocLen];


     objStream = ftpfiles.PostedFile.InputStream;


     //文件保存到缓存

     //缓存将保存到数据库

     objStream.Read(Docbuffer ,0,intDocLen);


     BooksConn = new

      SqlConnection("Server =dayang-c;Integrated Security=SSPI;Database=mydb");   
      


     cmdUploadDoc = new

      SqlCommand("uSP_BooksUploadFile",BooksConn);

     cmdUploadDoc.CommandType = CommandType.StoredProcedure;

     cmdUploadDoc.Parameters.Add("@Title ",SqlDbType.VarChar,200);

     cmdUploadDoc.Parameters.Add("@Doc",SqlDbType.Image);

     cmdUploadDoc.Parameters.Add("@DocType",SqlDbType.VarChar,4);

     cmdUploadDoc.Parameters[0].Value = TextBoxFileName.Text;

     cmdUploadDoc.Parameters[1].Value = Docbuffer ;

     cmdUploadDoc.Parameters[2].Value = strDocType;


     BooksConn.Open();

     cmdUploadDoc.ExecuteNonQuery();

     BooksConn.Close();
    }
   }
   LabelStat.Text="上传文件成功!";
    
  }
 }

}

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有