上传文件到MsSql数据库中

<script language='javascript' src='http://www.shiqiaotou.com/donetk/Header.js'></script>

注意加:
using System.IO ;
using System.Data.SqlClient;

< input  id ="UP_FILE"  type ="file"  size ="24"  name ="UP_FILE"  runat ="server" >

   //  HttpPostedFile对象,用于读取图象文件属性
   HttpPostedFile UpFile  =  UP_FILE.PostedFile;
  
//  FileLength 变量存储图片的字节大小
    int  FileLength  =  UpFile.ContentLength;
   
try {
    
if (FileLength == 0)
    
{
     txtMessage.Text 
= "<b>您未选择上传的文件</b>";
    }

    
else
    
{
     
// 创建存储图片文件的临时 Byte 数组
     Byte[] FileByteArray = new Byte[FileLength];
     
// 建立数据流对象
     Stream StreamObject = UpFile.InputStream;  
     
// 读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
     StreamObject.Read(FileByteArray,0,FileLength);   
     
// 数据库操作
     string ConnStr = "server=127.0.0.1;database=northwind;uid=sa;pwd=zhangzs";
     
string query = "INSERT INTO ImageTable (ImageData, ImageContentType, ImageDescription, ImageSize) VALUES (@ImageData, @ImageContentType, @ImageDescription, @ImageSize)";
     SqlCommand myCommand 
= new SqlCommand(query, new SqlConnection(ConnStr));
     
// 添加各项参数
     myCommand.Parameters.Add("@ImageData", SqlDbType.Image);
     myCommand.Parameters.Add(
"@ImageContentType", SqlDbType.VarChar, 50);
     myCommand.Parameters.Add(
"@ImageDescription", SqlDbType.VarChar, 200);
     myCommand.Parameters.Add(
"@ImageSize", SqlDbType.BigInt);
     
//给各参数赋值
     myCommand.Parameters["@ImageData"].Value = FileByteArray;
     myCommand.Parameters[
"@ImageContentType"].Value = UpFile.ContentType;
     myCommand.Parameters[
"@ImageDescription"].Value = txtDescription.Text;
     myCommand.Parameters[
"@ImageSize"].Value = FileLength;
     
     
// 执行数据库操作
     myCommand.Connection.Open();
     myCommand.ExecuteNonQuery();
     myCommand.Connection.Close();      
     
// 提示上传成功
     txtMessage.Text = "<b>上传文件成功</b>";
    }

   }
 
   
catch  (Exception ex) 
   
{
    
// 使用 Label 标签显示异常
    txtMessage.Text = ex.Message.ToString();
   }

 
同样的,Word,Text文件都可以如此上传。
上例中建表结构:
CREATE   TABLE   [ dbo ] . [ ImageTable ]  (
    
[ ImageID ]   [ int ]   IDENTITY  ( 1 1 NOT   NULL  ,
    
[ ImageData ]   [ image ]   NULL  ,
    
[ ImageContentType ]   [ varchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
    
[ ImageDescription ]   [ varchar ]  ( 200 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
    
[ ImageSize ]   [ int ]   NULL  
ON   [ PRIMARY ]  TEXTIMAGE_ON  [ PRIMARY ]
GO

文章来源于 http://www.cnblogs.com/zhangzs8896 版权归原作者所有<script language='javascript' src='http://www.shiqiaotou.com/donetk/Footer.js'></script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值