如何利用一个FILE控件,一次上传多个附件到数据库
来源:互联网 发布:mac 安卓开发环境搭建 编辑:程序博客网 时间:2024/04/29 18:41
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
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.Configuration;
namespace bjoffice
{
/// <summary>
/// upFILEs 的摘要说明。
/// </summary>
public class upFILEs : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.DropDownList FILEs;
protected System.Web.UI.HtmlControls.HtmlInputFILE myFILE;
protected System.Web.UI.WebControls.Button Button3;
protected static DataTable upFILEs1;
protected static SqlDataAdapter upFILEs2;
public void CreatTable()
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlDataAdapter myCommand = new SqlDataAdapter("select FILEName,FILEType,FILELen,FILEData,[ID] from Accessories where [ID]<-1", myConnection);
DataSet mydataset = new DataSet();
myCommand.Fill(mydataset, "Accessoriestable");
upFILEs2 = myCommand;
upFILEs1 = mydataset.Tables["Accessoriestable"];
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Button3.Click += new System.EventHandler(this.Button3_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
if (upFILEs1 == null)
{
CreatTable();
}
if( myFILE.PostedFILE.FILEName != "" )
{
string FILEname1 = Path.GetFILEName(myFILE.PostedFILE.FILEName) ;
//if(upFILEs1.Rows.Find(FILEname)==null)
DataRow[] myrow=upFILEs1.Select("FILEName='"+FILEname1.ToString()+"'");
if(myrow.Length ==0)
{
int FILElen = myFILE.PostedFILE.ContentLength;
string FILEtype = myFILE.PostedFILE.ContentType;
Stream fstream = myFILE.PostedFILE.InputStream;
byte[] FILEdata = new byte[FILElen];
fstream.Read(FILEdata,0,FILElen);
DataRow dr = upFILEs1.NewRow();
dr[0] = FILEname1;
dr[1] = FILEtype;
dr[2] = FILElen;
dr[3] = FILEdata;
upFILEs1.Rows.Add( dr );
FILEs.DataSource = upFILEs1;
FILEs.DataBind();
}
}
else
{
Page.RegisterStartupScript("script", "<script>alert('请选择文件!');</script>");
}
}
private void Button2_Click(object sender, System.EventArgs e)
{
if(FILEs.SelectedIndex>=0)
{
string fname=FILEs.SelectedItem.Text;
DataRow[] myrow=upFILEs1.Select("FILEName='"+fname+"'");
if(myrow.Length>0)
upFILEs1.Rows.Remove(myrow[0]);
FILEs.DataSource=upFILEs1;
FILEs.DataBind();
}
else
{
Page.RegisterStartupScript("script", "<script>alert('请选择文件!');</script>");
}
}
private void Button3_Click(object sender, System.EventArgs e)
{
if( upFILEs1.Rows.Count > 0 )
{
SqlCommandBuilder myscb =new SqlCommandBuilder(upFILEs2);
upFILEs2.InsertCommand=myscb.GetInsertCommand();
upFILEs2.Update(upFILEs1);
}
upFILEs1 = null;
}
}
}
- 如何利用一个FILE控件,一次上传多个附件到数据库
- 如何利用一个FILE控件,一次上传多个附件到数据库
- 上传附件到数据库。
- 上传多个附件
- 如何在一个页面添加多个文件上传控件
- 带有附件的上传,下载,一个多个附件的上传,下载及测试类
- 如何上传一个文件到Access数据库
- 如何实现表单一次上传多表数据并更新到数据库
- 如何实现表单一次上传多表数据并更新到数据库
- 模拟126邮箱实现一次上传多个附件的例子
- 模拟126邮箱实现一次上传多个附件的例子
- 如何利用ASP把图片上传到数据库
- 如何利用ASP把图片上传到数据库
- 如何利用ASP把图片上传到数据库
- 如何利用ASP把图片上传到数据库
- 实现用File控件同时上传多个文件
- 记一次附件上传bug
- 上传多个文件到oracle数据库
- 实战揭秘:开发.Net平台应用系统框架
- 定时器quartz的应用
- web service 基础
- 越俎代庖,做的两个页面。
- My E-business Fairy.NET文档发布--产品设计思想
- 如何利用一个FILE控件,一次上传多个附件到数据库
- jsp表中数据循环删除
- 关于RPG类型游戏制作的一些构想
- ASP.NET Web Service如何工作(1)
- 自定义控件中的控件调用引用控件的页面里的函数
- WMI Series 1:实现Windows管理的各种技术概述
- WMI Series 3:.NET 框架中的 WMI 命名空间
- WMI Series 4:Win32类及其管理对象
- WMI Series 2:windows管理规范WMI